2015-04-03 20 views
0

我在一個數據庫中有160個表。要求是將它們複製到不同的數據庫中。將一個以上的表從一個數據庫複製到另一個數據庫

數據庫:Oracle使用TOAD工具。

例:

數據庫A:160桌

數據庫B:想從數據庫A的所有160個表複製到B.

我知道我可以寫DB鏈接爲一個表應付,但我想從不同的數據庫中複製所有160個表。那可能嗎?

+0

你有這兩個數據庫依賴於一臺服務器或不同的服務器 – 2015-04-03 11:27:55

+0

你到目前爲止嘗試過什麼? – 2015-04-03 11:47:15

回答

1

我會建議標準數據泵功能。您需要使用EXPDP從源中導出所有160個表,然後使用IMPDP將它們導入到目標數據庫。

請參閱文檔以瞭解有關DATA PUMP的更多信息。

我相信大多數基於GUI的工具TOAD,SQL Developer等有導出和導入功能。

0

由於您只需要表/數據,並且您不關心索引和約束,並且假定您可以使用DBLINK,則可以使用簡單腳本將所有表從遠程服務器複製到本地服務器:

BEGIN 
    FOR C IN (SELECT * FROM [email protected]) LOOP 
     EXECUTE IMMEDIATE 'CREATE TABLE ' || C.TABLE_NAME || ' AS (SELECT * FROM ' || C.TABLE_NAME || '@REMOTEDB)'; 
    END LOOP; 
END; 
/

如果這不是一個選項,應確實使用DATA PUMP,因爲@LalitKumarB已經說過了。

相關問題