web-dev-qa-db-ja.com

ORA-39165エクスポートでスキーマが見つかりませんでした

データポンプのエクスポートで次のエラーが発生します。

ORA-39165: Schema OFDAT was not found.

最初に、完全なエクスポート権限があることを確認しました。

GRANT EXPORT FULL DATABASE TO OFDAT;

次に、それが可能になる場合に備えて管理オプションを試しました:

GRANT EXPORT FULL DATABASE TO OFDAT WITH ADMIN OPTION;

私はエラーをoerrでより詳しく見ました:

[Oracle@OptTekOracleDB dpdump]$ oerr ora 39165
39165, 00000, "Schema %s was not found."
// *Cause:  If exporting or importing over the network, either the user
//          specified a schema name that was not found in the source database
//          or else the user lacked the proper EXP_FULL_DATABASE or
//          IMP_FULL_DATABASE role that would allow them to access another
//          schema.  For importing from files, the user specified a schema
//          name not found in the dump file set.
// *Action: Retry the operation using the correct schema name.

ああ!と思った。私は助成金を持っていますが、これは私が役割を必要としていると言っています。だから私はユーザーに役割を追加しました:

GRANT EXP_FULL_DATABASE TO OFDAT;

引き続き同じエラーが発生します。スキーマが見つかりませんでした。他に試すことは考えられません。

@phil-これが私のexpdpパラメータファイルです。

DUMPFILE="dev_ofdat_2-1-3-0_afterbackfill.dmp"
LOGFILE="exp_dev_ofdat_2-1-3-0_afterbackfill.log"
DIRECTORY=DATA_PUMP_DIR
COMPRESSION=METADATA_ONLY
CONTENT=ALL
SCHEMAS=('OFDAT')

とても簡単です。開始するコマンドラインは次のとおりです。

expdp ofdat PARFILE=exp_dev_ofdat_2-1-3-0_afterbackfill.dat
2
orbfish

エラーメッセージを正しく読んだ場合、インポートに使用するダンプファイルには、指定したスキーマ名のコンテンツがないことも示されます。

これらのダンプファイルには、異なるスキーマに関連付けられたコンテンツが含まれている可能性があり、Oracle(より具体的にはIMPDP)はそのコンテンツをインポートしません。

Oracleクライアントソフトウェアをインストールすると、グラフィカルツール「Oracle SQL Developer」が付属します。このツールを使用すると、1つのスキーマからすべてのテーブルとコンテンツをSQLファイルにエクスポートできます。SQLファイルは、必要なスキーマにインポートできます。 Oracleクライアントソフトウェアは無料で提供されますが、Webサイトに登録する必要があります。

その後、標準のダンプツールを使用して、心ゆくまでご利用いただけます。

この方法は、元のスキーマにデータがあまりない場合にのみ役立ちます。これは、巨大なファイルを非常に迅速に生成する可能性があるためです。

このファイルで、元のスキーマの名前を必要なスキーマ名に置き換えて保存します。 「Oracle SQL Developer」ツールを再度使用してこのファイルを実行すると、あなたは黄金色です。

1
Gerold manders

このような問題に遭遇したときは、コマンドをできるだけ単純化したいと思います。すべてのパラメーターをコマンドラインに直接入力し、不要なパラメーターを削除してみます。そして、私はそれを行うためにdbaユーザーを使用します。このようなもの。

expdp {dbausername}/{dbapassword} SCHEMAS=OFDAT DUMPFILE=dev_ofdat_2-1-3-0_afterbackfill.dmp
1
Jake

私の観察はエラーです

 ORA-39165: Schema XXXX was not found.

他の問題の代替エラーにすぎない可能性があります。同じオブジェクトタイプINCLUDEパラメータを2回使用しているときにメッセージが表示されました

 INCLUDE=TABLE:"IN('T1','T1')"
 INCLUDE=TABLE:"IN('T3','T4')"

それらの行の1つを削除した後、そのスキーマは「魔法のように」見つかりました:)

INリストにリストされているテーブルが存在しない場合(たとえば、文字の大文字小文字の問題が原因)、同じメッセージが表示されます。

0
Marmite Bomber