別のサーバーから impdp を使用して Oracle 12c スキーマを復元する

別のサーバーから impdp を使用して Oracle 12c スキーマを復元する

AWS に 2 つの EC2 インスタンスを作成しました。

1 つは DB サーバーとして機能し、もう 1 つはクライアントとして機能します。

Oracle 12c DB インスタンスは DB サーバーにインストールされ、Oracle 12c インスタント クライアントはクライアント サーバーにインストールされます。

スキーマを作成し、その中にいくつかのテーブルとデータを追加し、DB ダンプとログをエクスポートしました。

Oracle クライアント サーバーから sys ユーザー経由で Oracle サーバーに接続できます。

エクスポートされた DB ダンプ (expdp コマンドを使用) とログをクライアント サーバーに転送しました。

impdp コマンドを使用して、クライアント サーバーからエクスポートされた DB ダンプをインポートしようとしています。

create directory dumpdir as '/home/oracle/exportDB';
impdp smithj/pwd4smithj@newdevdb schemas=smithj directory=dumpdir dumpfile=smithj.dmp logfile=expdpsmithj.log

しかし、ローカル サーバー (クライアント サーバー) パスをディレクトリとして指定する方法がわかりません。

仮想ディレクトリを追加しようとすると、パスが存在しないというメッセージが表示されます。

このパス /home/oracle/exportDB はクライアント サーバー内にあります。

選択肢がないので、提案をいただけませんか。

PS: DB サーバーの空き容量が少なく、DB ダンプ ファイルが巨大であるため DB サーバーに送信できないシナリオで、POC の目的でこれを行っています。質問に反対投票しないでください。多くのフォーラムを検索しましたが、これが参照されている場所はありません。

答え1

dumpdir常にデータベース(サーバー)の観点から作成されます。impdpコマンドはこのディレクトリを使用します。最高CREATE OR REPLACE DIRECTORY dumpdir AS '/mount/dump_directory_on_client/';方法としては、クライアント上のターゲット ディレクトリへのリンクを作成するか、共有をマウントするか、または任意の方法があります。次に、または(たとえば Windows の場合)などを使用して Oracle にディレクトリを作成しCREATE OR REPLACE DIRECTORY dumpdir AS '\\client\dumpdir';、インポートを再度開始します。

関連情報