Data Pumpを使用している場合、ローカルマシンにダンプファイルを保存する直接的な方法はありません。これがDataPumpの設計方法です。
ただし、目的を達成するための可能な方法の1つがあります。回避策には2つのステップがあります:
-
expdp
を実行します いつものように、サーバー上にダンプファイルを作成します -
ocp
を使用する ダンプファイルをデータベースサーバーからローカルマシンに転送する(必要に応じて元に戻す)ツール。
ocp
ツールは「OracleCopy」の略で、データベースサーバーとの間でダンプファイルをコピーする目的で正確に記述されています。こちらから入手できます: https:// github.com/maxsatula/ocp/releases/download/v0.1/ocp-0.1.tar.gz
これはソースディストリビューションなので、ダウンロードして解凍したら、./configure && make
を実行します。
(クライアント側にWindowsをコンパイルしようとしたことがないため、クライアント側にWindowsがないことを願っています)
これは、単純な構文の単純なコマンドラインツールです。たとえば、次のコマンドはファイルをプルします:
ocp <connection_string> DATA_PUMP_DIR:remote_file_name.dmp local_file_name.dmp
このツールは、データベース接続と最小限のデータベース権限のセットを使用します。
更新:
最後に、ソースコードを調整して、ocp
をビルドすることができました。 Windows 32ビット用のツール:
https://github.com/maxsatula /ocp/releases/download/v0.1/ocp-0.1-win32.zip
32ビットのInstantClient11.2.0.4でコンパイル/テスト済み: http: //www.oracle.com/technetwork/topics/winsoft-085727.html
Instantclient-basiclite-nt-11.2.0.4.0.zip(20,258,449バイト)
Oracle Clientの完全インストールでも機能すると思います(ビットに注意してください。32である必要があります)が、自分自身をチェックしませんでした。
残念ながら、Windowsはocp
をビルドしています ファイル転送中の派手な進行状況メーターはありません。そのコードには*nix固有のものが多すぎたので、それを切り落とさなければなりませんでした。
また、GnuWinプロジェクトの一部としてコンパイルされ、32ビットでのみ使用可能なpoptおよびzlibライブラリを使用するため、ocp
Windowsの場合も32ビットのみです。うまくいけば、64ビットバージョンを持っていないことはあなたにとってミッションクリティカルではありません。
更新2:
警告! サーバーからファイルをダウンロードするときは、常に専用サーバー接続を使用してください。そうしないと、(共有サーバーの場合)ダウンロードしたファイルのコピーが破損し、エラーメッセージは表示されません!