2014-01-20 30 views
3

我在linux ssh中使用以下命令將完整的Oracle轉儲文件導入到了我的數據庫模式中。從Oracle轉儲文件重新導入特定表

impdp system/password directory=bckup schemas=sch101 dumpfile=sc101.dmp remap_schema=sch101:MY_SCHEMA TABLE_EXISTS_ACTION=APPEND; 

此命令導入的表必須爲我的目標模式,但由於一些約束錯誤一些表被跳過。 我想在逐個解決問題之後嘗試將這些表導入到我的數據庫中。我用以下命令這樣做,

impdp system/password DIRECTORY=bckup TABLES=TBL_NAME DUMPFILE=sch101.dmp remap_schema=sch101:MY_SCHEMA TABLE_EXISTS_ACTION=APPEND; 

但此命令將返回我的錯誤:

ORA-39002: invalid operation 
    ORA-39166: Object SYSTEM.TBL_NAME was not found. 

我檢查表我試圖在轉儲文件的導出日誌文件導入名稱我用它們存在於轉儲文件中。 我在這裏做的那個愚蠢的錯誤是什麼?

回答

2

因爲你要導入爲system從什麼大概是一個完整的(沒有模式)出口,你需要在tables parameter指定架構名稱,儘管schema參數的存在:

... TABLES=sch101.TBL_NAME ... 

的你收到的錯誤信息是指SYSTEM.TBL_NAME,顯然(或者希望,無論如何)不是你想要的。

+0

非常感謝,它的工作! :) – yugesh