1

異なるサーバーに同じスキーマを持つ 2 つの DB があります。テーブル T から別のサーバーとネットワークのテスト データベースの同じテーブル T にデータをコピーする必要があります。

それを行う最も簡単な方法は何ですか?データをフラット ファイルにダンプし、データベースに挿入できると聞きました。それはどのように機能しますか?これは、sqlplus と oracle データベースを使用して実現できますか?

ありがとうございました!

4

1 に答える 1

3

Oracle exportを使用して、テーブル全体をファイルにエクスポートし、ファイルをserverBにコピーしてインポートします。

http://www.orafaq.com/wiki/Import_Export_FAQ

rsyncを使用して、1つまたは複数のoracle.dbfファイルを別のサーバーに同期できます。これには問題があり、すべてのファイルの同期がより確実に機能します。

レコードのグループの場合は、移動する必要のある行を含むパイプ区切り(またはデータに適した区切り文字)ファイルを作成するクエリを記述します。そのファイルをserverBにコピーします。sqlldrの制御ファイルを作成し、sqlldrを使用して行をテーブルにロードします。sqlldrは、Oracleインストールの一部です。

http://www.thegeekstuff.com/2012/06/oracle-sqlldr/

各サーバーにdbリスナーがあり、tnsnamesが両方を認識している場合は、直接次のことができます。

insert into mytable@remote 
select * from mytable
  where somecolumn=somevalue;

リモートテーブルのセクションを見てください。

http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_9014.htm

これが継続的なものになる場合は、instance@serverAからinstance@serverBへのdbリンクを作成します。その後、一方のインスタンスまたは他方のインスタンス、あるいはその両方のデータを使用して、権限のあるすべてのことを実行できます。

http://psoug.org/definition/CREATE_DATABASE_LINK.htm
于 2012-11-28T00:52:40.253 に答える