web-dev-qa-db-ja.com

expdpは、中間ファイルなしで、impdpに直接パイプできますか?

多くの場合、かなり大きなデータベースを1つのサーバーから別のサーバーにコピーする必要があります。現在のメソッドは、ソースでexpdpを使用し、宛先でthenimpdpを使用します。これは次の理由でかなり恐ろしくなります:

  1. 中間ファイルを保存するには、多くのスペースを必要とします。
  2. 書き込みと読み取りが並行して行われるのではなく、順番に行われるため、必要以上に時間がかかります。

stdout of expdpstdin of impdpに直接パイプされるように配置する方法はありますか?例えば:

expdp / parfile=export.par | ssh remote impdp parfile=import.par

これらの仮説に何を入れればよいですかexport.parおよびimport.parそれぞれ?

stdoutstdinに直接入れない場合、expdp書き込みとimpdp-読み取り-TCPソケットを使用できますか? netcat...

1
Mikhail T.

@mutapがコメントで述べたように、ネットワークを介してexpdp/impdpできます。

技術的には、中間ファイルを必要とせずに、データベースリンクを介してDataPumpエクスポートおよびインポートを実行します。

Bash PIPEは必要ありません。

例: https://Oracle-base.com/articles/10g/Oracle-data-pump-10g#NetworkExportsImports

1
Michael Kutz