錯誤做法:
為了將oracle 9i數據庫裡的數據移植到低版本的oracle 8i中,首先在oracle 9i中用exp命令導出(命令行):
exp 用戶名/密碼@全局SID file=導出數據庫文件名 owner=用戶
將導出數據庫文件名copy至oracle 9i計算機上,在oracle 8i中用imp命令導入(命令行):
imp 用戶名/密碼@全局SID file=欲倒入的數據庫文件 owner=用戶 ignore=y full=y
但你會發現,導入失敗。
原因:高版本的數據庫備份文件*.dmp無法直接導入低版本的數據庫。然而,低版本的則可以導入高版本(僅相鄰的版本,如7i和8i,8i和9i)。
解決方法:
用oracle 8i的客戶端連接到oracle 9i服務器端,在8i端使用exp命令導出,再使用imp命令導入。
具體實現:
8i中,Net Configuration Assistant >> 本地網絡服務名配置 >> 添加 >> oracle 8i或更高版本數據庫 >> 輸入9i的全局SID >> TCP >> 主機名,端口號 >> 測試連接。
如果測試成功,則表明連接上了,給這個連接起個名字。
啟動8i所在計算機的命令行,進入BIN目錄下:
imp 用戶名/密碼@連接名 file=欲倒入的數據庫文件 owner=用戶 ignore=y full=y
到此我們的任務就完成了。