使用: db:Oracle DB 11g XE和sql developer。
我创建了db link:
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
中的所有表格。
我找到了解决方案,如何逐个复制:
create table temp_table as select * from OLD1@DB_LINK
如何从数据库链接复制所有数据库?
答案 0 :(得分:1)
您可以通过以下方式获取表格列表:
select * from all_tables@db_link;
使用
创建副本begin
for k in (select * from all_tables@db_link)
loop
execute immediate 'create table '||k.table_name||' as
select * from '||k.table_name||'@db_link';
end loop;
end;
/
但如果有多个架构,如果有索引等,则此代码可能会有所不同
您可能想尝试使用SqlDeveloper的数据库复制工具,该工具位于sqldeveloper的“工具”菜单中。