国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

用Oracle導入導出工具實現Oracle數據庫移植

2024-08-29 13:44:07
字體:
來源:轉載
供稿:網友
Oracle數據庫作為目前市場的主流數據庫之一,許多應用都在其上進行開發,由于Oracle數據庫更新換代的原因和不同的應用程序提供商,可能會造成在一個單位的應用中存在Oracle的幾種版本,如Oracle 7、Oracle 8、Oracle 8i,甚至Oracle 9i.。 而考慮到數據庫集中、維護、備份的方便性和避免設備的重復投資,在應用能兼容的情況下,將幾個版本的Oracle數據庫移植到一個主流版本上是數據庫治理員的一個較優的選擇。 這就存在從Oracle數據庫的低版本移植到高版本和從Oracle數據庫的高版本移植到低版本的問題,甚至包括系統平臺的遷移如從Windows NT系統遷移到Unix系統。利用Oracle導入/導出工具(EXPort/Import)能比較方便實現上述移植操作。Oracle導入/導出工具(Export/Import)主要是用來對數據庫進行邏輯備份,利用Export導出數據庫的轉儲二進制文件作為數據庫Import輸入從而達到移植的目的。有二個規則可以參考:規則一:從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可以進行讀取。利用上面兩個規則,下面就本人在為一單位用Oracle的導入/導出工具(Export/Import)進行此種移植碰到的問題,提出來與大家分享,希望能起到拋磚引玉的作用。此單位擁有Oracle數據庫版本有Oracle 8.1.6 For NT、Oracle 8.0.5 For NT、Oracle 8.0.4 For Digital Unix、Oracle 7.3 For NT??紤]到Oracle 8.0.4 For Digital Unix運行在小型機上、單位的備份系統也是針對此小型機,決定將Oracle 8.1.6 For NT、Oracle 8.0.5 For NT、Oracle 7.3 For NT的數據庫都移植到Oracle 8.0.4 For Digital Unix上。1、Oracle 8.0.5 For NT移植因版本相差甚小,開始直接用Oracle8.0.5的exp80導出數據庫的轉儲文件,然后用FTP(binary傳輸模式)直接上傳至Oracle 8.0.4 所在的小型機,再用Oracle 8.0.4的imp導入一直有字符集的問題,即存有漢字的字段顯示的都是”??????”, 移植失敗。后發現,在Oracle8.0.5服務器上直接用Oracle8.0.5的imp80對exp80導出的轉儲文件進行遠程導入,字符集的問題解決,移植成功。對于使用Oracle 8.0.4 For Digital Unix的用戶,提醒一句,最好不要用Oracle 8.0.4 For Digital Unix的exp、imp工具做備份,而應用此版本的Windows客戶端程序exp80、imp80。本人曾做過實驗:在Oracle 8.0.4 for Digital UNIN數據庫上新建一用戶(user)和一個表格(table)通過sql plus客戶端在表格的列中插入一些中文行,提交后,用exp 數據導出,再用imp數據導入,用sql plus客戶端查看,表中的中文值顯示為”???”)。

2、Oracle 7.3 移植直接用Oracle7.3的export導出數據庫的轉儲文件,拷至Oracle8.0.5服務器,然后用Oracle8.0.5服務器的imp80直接導入至Oracle 8.0.5數據庫。此移植就變成了Oracle 8.0.5 For NT移植至Oracle 8.0.4 For Digital Unix的移植。

3、Oracle 8.1.6 For NT移植初步設想也通過Oracle 8.0.5進行過度。因其版本比Oracle 8.0.5高、下面對參考的規則進行一些校驗。3.1高版本的Export導出來的轉儲文件,低版本的Import讀不了

在Oracle 8.1.6數據庫服務器導出轉儲二進制文件:ora816.dmp。

在Oracle 8.0.5數據庫服務器上用Imp80進行導入。

D:>Imp80 house/passWord file=d:/ ora816.dmp log=d:/ora816.log full=y

/*日志顯示*/

已連接到:Oracle8 Release 8.0.5.0.0 – PRodUCtion

PL/SQL Release 8.0.5.0.0 – Production

IMP-00010: 不是有效的導出文件,標題檢驗失敗

IMP-00021: 操作系統錯誤 - 錯誤代碼(十進制2,十六進制0x2)

IMP-00000: 未成功終止導入
3.2 Oracle的Export/Import工具只能連接到擁有更高或者一樣的Export/Import版本的數據庫

a)Oracle 8.1.6遠程數據導入

在Oracle 8.1.6數據庫服務器導出轉儲二進制文件:ora816.dmp。

在Oracle 8.1.6數據庫服務器向Oracle8.0.5數據庫進行數據遠程導入

D:>Imp house/password@orclfrom816to805 file=d:/ ora816.dmp log=d:/ora816.log full=y

(orclfrom816to805為數據庫連接字符串由Oracle8.1.6數據庫指向 Oracle8.0.5數據庫)

/*日志顯示*/

連接到: Oracle8 Release 8.0.5.0.0 – Production

PL/SQL Release 8.0.5.0.0 – Production

……

經由常規路徑導出由EXPORT:V08.01.06創建的文件

已經完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的導入

IMP-00003: ORACLE 錯誤2248出現

ORA-02248: 無效的 ALTER session 選項

IMP-00000: 未成功終止導入

b)在Oracle 8.0.5數據庫服務器上用exp80對Oracle 8.1.6數據庫進行遠程導出。

D:>exp80 house/password@orclfrom805to816 file=d:/ora816.dmp log=d:/ora816.log

(orclfromfrom805to816為數據庫連接字符串由Oracle8.0.5數據庫指向Oracle8.1.6數據庫)

/*日志顯示*/

連接到:Oracle8i Enterprise Edition Release 8.1.6.0.0 – Production

With the Partitioning option

JServer Release 8.1.6.0.0 – Production

已導出ZHS16GBK字符集和ZHS16GBK NCHAR 字符集

即將導出指定的用戶...

……

在沒有警告的情況下成功終止導出。

再對遠程導出的轉儲文件在Oracle 8.0.5數據庫服務器上用imp80導入。

D:>imp80 house/password file=d:/ora816.dmp full=y log=d:/ora816 _i.log

顯示成功導入

此刻此移植就變成了Oracle 8.0.5 For NT移植至Oracle 8.0.4 For Digital Unix的移植。

利用Oracle的Oracle導入/導出工具(Export/Import)除了可進行數據庫邏輯備份、數據庫移植還可以用來提高數據庫的性能,對數據庫進行一次導入/導出操作能重新組織數據,消除數據庫的碎片,從而使數據庫的性能有較大的提高。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邵武市| 昌江| 寿光市| 阜新| 永安市| 界首市| 玛曲县| 徐闻县| 山阴县| 黎平县| 新巴尔虎右旗| 松桃| 墨脱县| 永宁县| 青海省| 三穗县| 阿坝县| 山阳县| 建湖县| 南岸区| 维西| 瑞金市| 卢湾区| 和龙市| 胶州市| 皋兰县| 肃宁县| 犍为县| 绥江县| 拜城县| 屏东县| 天门市| 衡阳县| 兴义市| 阿鲁科尔沁旗| 公主岭市| 舒兰市| 漳州市| 宣恩县| 酉阳| 淮南市|