Oracle
Oracle 模式導入未導入模式轉儲文件中存在的所有表
我從另一台機器導出了現有的 oracle 模式,然後將其導入本地機器。導入成功,但未導入導出轉儲文件中存在的某些表。
這是我使用的導出和導入命令。
Export Command: --------------- exp sreeni/sreeni@agentrics1:1524/ezmodc full=n file=SreeniTrunkDump.dmp log=SreeniTrunkDump_Export.log Import Command: --------------- imp badri/badri@localhost:1521/xe file=SreeniTrunkDump.dmp log=BadriSchemaImport_Import.log full=y
我們使用的 Oracle 是10g EE。
可能出了什麼問題?您能否建議解決此問題的方法。
使用以下語句查看導出文件中的確切內容:
imp sreeni/sreeni@agentrics1:1524/ezmodc file=SreeniTrunkDump.dmp indexfile=SreeniTrunkDump.sql full=y
該語句不會嘗試導入數據,只是將 DDL 轉儲到 indexfile。檢查生成的文件以查看表是否在導出中。
或者,如果您使用的是 unix
strings SreeniTrunkDump.dmp|grep <missingtable>
如果表在導出文件中,則導入期間出現問題。例如缺少表空間。檢查導入語句的日誌文件 (BadriSchemaImport_Import.log)。
什麼觸發器,它發生在 IMP 嘗試在創建它所引用的表之前創建觸發器,所以它失敗了(因為表不存在),它甚至不會創建表。
如果是您的情況,請不要這樣做,但我是我的,我最終導出了所有表的 ddl,然後在啟動 IMP 之前創建了所有表。
您也可以嘗試僅導入失去的表,看看出了什麼問題
imp badri/badri@localhost:1521/xe file=SreeniTrunkDump.dmp tables=TABLE_NAME