0

を使用して からOLD_SCHEMAにダンプをインポートしましたNEW_SCHEMA。10 個のパッケージを除いて、すべてのパッケージは正常に見えます。エラーは、それらが古いスキーマを参照していることです。つまり、それらのテーブル名にOLD_SCHEMA. すなわち、OLD_SCHEMA.table_name。正しいパッケージと同じように見える同義語を確認しました。

それを修正する方法はありますか?

4

1 に答える 1

0

この問題を解決するには、必要なものに応じていくつかの可能性があります。

  • インポート コマンドで次のオプションを使用しREMAP_SCHEMAます。

    REMAP_SCHEMA=source_schema:target_schema
    

  • パッケージからスキーマ名を削除し、シノニムのみを使用してください。これにより、異なるスキーマで同じ名前のオブジェクトを持つことが制限されます。

  • すべてのパッケージからソースを抽出し、正規表現でスキーマの名前を変更し、新しいデータベースでコードを再コンパイルしてソースを再注入するスクリプトを用意します。ソースを抽出するには、dbms_metadata.get_clob;を使用します。それから、 のテキストを変更しなければならない部分は少しトリッキーになりますが、CLOB楽しいです。

于 2016-08-04T08:22:46.710 に答える