日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Oracle导入到不同的角色,oracle 不同版本之间的导入导出

發布時間:2024/9/27 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle导入到不同的角色,oracle 不同版本之间的导入导出 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

不同版本oracle導入導出解決辦法。

今天遇到一個比較特殊的情況,需要在oracle8中使用oracle9的數據,如是導入導出。費了大半天,從oracle9中導出的數據就是無法導入oracle8中。

后來上網查詢才知道,oracle不同版本之間的導入導出,不同于同版本導入導出。 有些規則要遵循:

一篇文章這樣說:

如果版本不一致的話,在數據庫之間exp、imp數據的應該遵循的規則:

1、imp工具的版本應該和目標數據庫的版本一致;

2、exp工具的版本應該與源數據庫和目標數據庫中版本最低的一個相一致

另一片文章這樣說:

規則一:從Oracle 低版本的Export數據可以Import到Oracle高版本中,但限于Oracle的相鄰版本,如從Oracle 7 到 Oracle 8。對于兩個不相鄰版本間進行轉換,如從Oracle 6 到 Oracle 8,則應先將數據輸入到中間版本—Oracle 7,再從中間數據庫轉入更高版本。

規則二:Oracle的Export/Import工具只能連接到擁有更高或者一樣的Export/Import版本的數據庫。如Oracle 8.0.5的Export/Import(版本8.0.5.0.0)可連接到Oracle 8.1.6數據庫(版本8.1.6.0.0);高版本的Export導出來的轉儲文件,低版本的Import讀不了;低版本的Export導出來的轉儲文件,高版本的Import可以進行讀取。

這兩中說法基本相同。

那如何解決呢?

實例:

比如機器A oracle9

機器B oralce8

如果機器B想要使用機器A的數據。

我這里有兩個辦法:

第一種: 這一種比較簡單,步驟如下:

通過機器B連接到機器A,然后導出數據庫,然后再導入到機器B中,即可完成。

如果兩臺機器無法連接。 只好使用第二種辦法。

1、在高版本數據庫上運行底版本的catexp.sql; 2、使用低版本的EXP來導出高版本的數據; 3、使用低版本的IMP將數據庫導入到低版本數據庫中; 4、在高版本數據庫上重新運行高版本的catexp.sql腳本。 但在9i中,上面的方法并不能解決問題。如果直接使用低版本EXP/IMP會出現如下錯誤: EXP-00008: ORACLE error %lu encountered ORA-00904: invalid column name 這已經是一個公布的BUG,需要等到Oracle10.0才能解決,BUG號為2261722,你可以到METALINK上去查看有關此BUG的詳細信息。 BUG歸BUG,我們的工作還是要做,在沒有Oracle的支持之前,我們就自己解決。在Oracle9i中執行下面的SQL重建exu81rls視圖即可。 CREATE OR REPLACE view exu81rls (objown,objnam,policy,polown,polsch,polfun,stmts,chkopt,enabled,spolicy) AS select u.name, o.name, r.pname, r.pfschma, r.ppname, r.pfname, decode(bitand(r.stmt_type,1), 0,'', 'SELECT,') || decode(bitand(r.stmt_type,2), 0,'', 'INSERT,') || decode(bitand(r.stmt_type,4), 0,'', 'UPDATE,') || decode(bitand(r.stmt_type,8), 0,'', 'DELETE,'), r.check_opt, r.enable_flag, DECODE(BITAND(r.stmt_type, 16), 0, 0, 1) from user$ u, obj$ o, rls$ r where u.user# = o.owner# and r.obj# = o.obj# and (uid = 0 or uid = o.owner# or exists ( select * from session_roles where role='SELECT_CATALOG_ROLE') ) / grant select on sys.exu81rls to public; / 當在不相鄰的主要版本之間遷移數據 (例如,從O r a c l e 6到O r a c l e 8 )時,應先將數據導入到 中間版本(本例中是O r a c l e 7 ),然后再從這個版本的數據庫導入更新的主要版本 ( O r a c l e 8 )。 總結: 可以跨版本的使用EXP/IMP,但必須正確地使用EXP和IMP的版本: 1.總是使用IMP的版本匹配數據庫的版本,如:要導入到817中,使用817的IMP工具. 2.總是使用EXP的版本匹配兩個數據庫中最低的版本,如:從9201往817中導入,則使用817版本的EXP工具.

總結

以上是生活随笔為你收集整理的Oracle导入到不同的角色,oracle 不同版本之间的导入导出的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。