2013-07-15 22 views
0

我需要執行IMPDP實用程序的附加功能,同時將11g數據庫轉儲導入9i數據庫。我還需要能夠使用impdp實用程序的相同附加功能,從9i數據庫導入到11g數據庫中。我如何做一個增量導入到9i數據庫

從我發現,數據泵客戶端不兼容9i數據庫,所以這個附加功能不可用於我。有沒有辦法解決這個問題?

請幫忙。

回答

1

要在9i和11g數據庫之間移動數據,您需要使用original exportoriginal import實用程序,而不是數據泵。

由於要不同版本之間移動數據,this section是非常相關:

每當你移動了Oracle 數據庫的不同版本之間的數據,以下基本規則:

  • 導入實用程序和要將數據導入到的數據庫(目標數據庫)必須是相同的版本。例如,如果您嘗試使用導入實用程序9.2.0.7導入到9.2.0.8 數據庫中,則您可能會遇到錯誤。

  • 導出實用程序的版本必須等於源數據庫或目標數據庫的版本,以較早的版本爲準。

例如,創建一個導入導出文件到後來 版本數據庫,使用版本導出工具,等於 源數據庫。相反,要將導入 的導出文件創建到早期版本數據庫,請使用等於目標數據庫版本的導出實用程序 的版本。

因此,要將數據從9i移動到11g,需要使用9i二進制文件導出並使用11g二進制文件導入。要將數據從11g移動到9i,您需要使用9i二進制文件執行導出和導入;這意味着你需要一個可以訪問11g數據庫的9i環境。如果它們位於不同的服務器上,則需要從9i環境中遠程訪問11g數據庫進行導出,或者在11g服務器上安裝9i,與目標環境具有相同的修補程序級別。

將數據從11g移動到9i似乎是一件奇怪的事情,考慮到9i的年齡,以及它已經失去支持的時間。

爲了掩飾你對類似append行爲原來的問題,從the import documentation

當表手動創建數據導入前,CREATE導出轉儲文件 TABLE語句將失敗,因爲該表 已經存在。爲避免此故障並繼續將數據加載到 表中,請設置Import參數IGNORE = y。否則,由於表創建錯誤,沒有數據將 加載到表中。

imp沒有truncate選項,所以數據總是附加在那裏;並非沒有那IGNORE=Y flag導入將失敗,因爲存在對象,而不是因爲它中有數據。

相關問題