0

Oracle のimp/expユーティリティを使用してデータベースを別のサーバーに転送しています。最初に、ソース データベースと同じテーブルスペースを持つ空のデータベースを作成しました。

インポートの結果を使用するとfull mode、データベースは正常に動作していますが、既存のシステム オブジェクトが原因で膨大な数のエラーが発生しました。これはかなり気がかりで、「本当の」エラー メッセージがあるかどうかを確認できません。オプションを使用することもできますがignore=Yドキュメントによると、テーブルデータが複製される可能性があることを意味します。これは良く聞こえません。または、一度だけインポートした場合、重複はありませんか?

user modeインポートを使用することもできますが、この表によると、重要な部分はこの方法ではインポートされないように思われ、避けるべきだと思います。

解決策は何ですか?

代わりに使用する必要がexpdp/impdpありますか? 彼らはこの問題を解決しますか?

前もって感謝します。

4

2 に答える 2

2

多くの理由 (使いやすさ、パフォーマンスなど) から、expdp/を確実に使用する必要があります。impdpもちろん、データベース全体をアンロード/ロードできます。を使用して、ターゲット データベースに既に存在するテーブルでTABLE_EXISTS_ACTION何が起こるかを制御できます ( )。SKIP | APPEND | TRUNCATE | REPLACEパラメータを使用EXCLUDEして、変更されていない/不要なスキーマ オブジェクトのインポートを回避することもできます。

于 2012-05-15T10:56:01.680 に答える
0

通常、特定のスキーマのみに関心があり、システム スキーマをインポートしたくありません。ダンプ ファイルに完全なエクスポートが含まれている場合は、関心のあるスキーマを次のようにインポートできます。

imp system/<password>@<database> file=yourdump.dmp fromuser=<user1>,<user2>...<user_n>
于 2012-05-15T10:53:23.027 に答える