2012-11-27 269 views
1

我有2個DB在不同的服務器上具有相同的模式。 我需要將表T中的數據複製到不同服務器和網絡中的測試數據庫中的同一表T中。如何將數據從一個數據庫複製到另一個服務器上的另一個數據庫?

最簡單的方法是什麼? 我聽說可以將數據轉儲到平面文件並將其插入到數據庫中。它是如何工作的? 這可以使用sqlplus和oracle數據庫來實現嗎?

謝謝!

+0

可能想看看rsync – toxicate20

回答

3

使用Oracle導出將整個表導出到文件,將文件複製到serverB並導入。

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

您可以使用rsync將oracle .dbf文件或文件同步到另一個服務器。這有問題,並且同步所有文件的工作更可靠。

對於記錄組,編寫一個查詢來構建一個管道分隔符(或適合您的數據的任何分隔符)與需要移動的行。將該文件複製到serverB。編寫sqlldr的控制文件並使用sqlldr將行加載到表中。 sqlldr是Oracle安裝的一部分。

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

如果您有分貝聽衆達每一臺服務器上的tnsnames知道這兩個,你可以直接:

insert into [email protected] 
select * from mytable 
    where somecolumn=somevalue; 

看遠程錶款:

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

如果這是將成爲一個持續的事情,創建一個從實例@ serverA到實例@ serverB的數據庫鏈接。 然後,您可以對一個實例或另一個或兩個數據上的數據執行任何操作。

http://psoug.org/definition/CREATE_DATABASE_LINK.htm 
相關問題