web-dev-qa-db-ja.com

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です。

何がうまくいかないのでしょうか?この問題の解決策を提案していただけませんか。

1
Badri

次のステートメントを使用して、エクスポートファイルの内容を正確に確認します。

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)を確認してください。

1

トリガーの場合、IMPが参照するテーブルを作成する前にトリガーを作成しようとするため、失敗し(テーブルがまだ存在しないため)、テーブルは作成されません。

それがあなたの場合であるかどうかはわかりませんが、私は私でした、そしてすべてのテーブルのddlをエクスポートし、IMPを起動する前にすべてのテーブルを作成することになりました。


また、不足しているテーブルのみをインポートして、何が問題なのかを確認することもできます。

imp badri/badri@localhost:1521/xe file=SreeniTrunkDump.dmp tables=TABLE_NAME
0
kkk