2017-07-17 5 views
0

使用: db:Oracle DB 11g XEおよびSQL Developer。dbからすべてのdbを複製する方法

私は、DBリンク作成:

CREATE DATABASE LINK db_link 
CONNECT TO ROOT IDENTIFIED BY ROOT 
USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ***)(PORT = 1521))) (CONNECT_DATA = (SID = xe)))'; 

をそして私はdb_link内のすべてのテーブルをコピーします。

私は1つずつコピーする方法、解決策を見つけた:

create table temp_table as select * from [email protected]_LINK 

デシベルのリンクから、すべてのDBを複製する方法は?

答えて

1

あなたがしてテーブルのリストを取得することができます。

select * from [email protected]_link; 

そして

begin 
for k in (select * from [email protected]_link) 
loop 
execute immediate 'create table '||k.table_name||' as 
    select * from '||k.table_name||'@db_link'; 
end loop; 
end; 
/

でコピーを作成するが、複数のスキーマがある場合は、インデックスが存在する場合、このコードはなど、異なる場合があり

sqldeveloperの[ツール]メニューにあるSqlDeveloperのデータベースコピーツールを試してみるとよいでしょう。

+0

ありがとうございました。 –

関連する問題