Oracle

我可以使用 .dmp 文件同步現有數據庫嗎?

  • June 16, 2018

我有兩個 Oracle 數據庫(生產和實驗室)。當我創建實驗室數據庫時,我從生產中導入了一個 .dmp 文件來複製數據。現在數據庫已經執行了一段時間,數據不同步,我想再次導入。最簡單的方法是什麼?

我再次嘗試使用 imp 但它現在顯示錯誤,因為表已經存在。我想我可以刪除數據文件並重新導入。

編輯:這是我嘗試過的:

$ imp user/password file=MyExportFile.dmp

following statement failed because the object already exists:
CREATE TABLE ...
...
Import terminated successfully with warnings.

如果您想替換所有內容,那麼最安全的方法是刪除所有模式並使用 imp 再次導入

drop user schema_name cascade

您也可以嘗試傳統導入實用程序中的ignore=y參數,當存在同名對象時將忽略錯誤,這在數據泵中稱為TABLE_EXISTS_ACTION。

imp user/password@servicename file=abc.dmp IGNORE=y

在數據泵方法的情況下,使用 table_exists_action 參數跳過現有對象,如下所示:

impdp sys/password@servicename dumpfile=abc.dmp logfile=imp_skip.log tables=abc table_exists_action=truncate

引用自:https://dba.stackexchange.com/questions/209763