web-dev-qa-db-ja.com

12cでのデータポンプダンプの場所の検索

何よりもまず、ここで非常に初心者の質問をお詫びします。サポートしている顧客が12cに移行したとき、データポンプダンプが11gでどのように機能するかについてのコツをつかみ始めたところです。運が悪い。 :)

簡単な質問です。12cを実行している同僚のWindowsサーバーを使用して、顧客のデータポンプダンプをインポートしようとしています(ダンプとログファイルがあります)が、インポートするダンプをどこに配置するかわかりません。私が走るとき:

select * from dba_directories where directory_name='DATA_PUMP_DIR';   

これは返される出力です:

c:\ade\aime_v\Oracle/admin/seeddata/dpdump/

そのディレクトリはこのマシンのどこにも存在せず、さらに異常なディレクトリパスのように見えます。 (私の同僚は休暇中です、そうでなければ私はもちろん尋ねます)。

では、ディレクトリの扱いが少し異なる12cで何かが変更されましたか?このサーバーを作成した人が、データポンプディレクトリをそのような存在しないパスに向けることはできなかったと私は確信しています。私は現在自分自身を輪になってグーグルしているので、短い質問は、ダンプインポートファイルをドロップするためのディレクトリがどこにあるかを理解するための最初のステップとしてどこから始めればよいかということだと思います。

繰り返しになりますが、恥ずかしいほど初心者の質問をお詫びし、私の質問を楽しませてくれてありがとう。

5
James Panetti

Oracleでは、存在しない物理ディレクトリへのディレクトリメタデータエントリを作成できます。これがここで発生したことです。したがって、どのユーザーがCREATE ANY DICTIONARY権限は、Oracleメタデータディレクトリを既存のディレクトリに(再)作成し、物理ディレクトリに対するオペレーティングシステムの権限が設定されていることを確認して、OracleユーザーIDがそのディレクトリの読み取りと書き込みを行えるようにする必要があります。 @OldProgrammerが示唆したように、誰かがUnixとWindowsの半分のパス区切り文字を組み合わせたように見えます。

ディレクトリc:\ ade\aime_v\Oracle\admin\seeddata\dpdumpがある場合(そしてダンプファイルがそこにある場合)、以下が機能するはずです。非dbaID(以下のサンプルのsome_user)からインポートする場合は、そのディレクトリでもdbaグラントを読み取る必要があります。

drop directory data_pump_dir;
create directory data_pump_dir as 'c:\ade\aime_v\Oracle\admin\seeddata\dpdump';
-- grant read on data_pump_dir to some_user;
2
Mark Stewart

次のSQLクエリを使用します。

select * from dba_directories where directory_name='DATA_PUMP_DIR';
3
Ashish Sahu