sql >> データベース >  >> RDS >> Oracle

Oracleデータポンプエクスポートユーティリティを使用してローカルマシンにダンプファイルを作成するにはどうすればよいですか?

    Data Pumpを使用している場合、ローカルマシンにダンプファイルを保存する直接的な方法はありません。これがDataPumpの設計方法です。

    ただし、目的を達成するための可能な方法の1つがあります。回避策には2つのステップがあります:

    1. expdpを実行します いつものように、サーバー上にダンプファイルを作成します
    2. 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:

    警告! サーバーからファイルをダウンロードするときは、常に専用サーバー接続を使用してください。そうしないと、(共有サーバーの場合)ダウンロードしたファイルのコピーが破損し、エラーメッセージは表示されません!



    1. MySQLでスキーマの名前を変更するにはどうすればよいですか

    2. MySQLテーブルの最大行数を設定するにはどうすればよいですか?

    3. MySQLフルテキスト特殊文字の処理

    4. SQL Management Studioで別のポート番号を指定するにはどうすればよいですか?