異なるサーバーに同じスキーマを持つ 2 つの DB があります。テーブル T から別のサーバーとネットワークのテスト データベースの同じテーブル T にデータをコピーする必要があります。
それを行う最も簡単な方法は何ですか?データをフラット ファイルにダンプし、データベースに挿入できると聞きました。それはどのように機能しますか?これは、sqlplus と oracle データベースを使用して実現できますか?
ありがとうございました!
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