欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

oracle数据库间数据快速 复制

程序员文章站 2022-07-14 18:34:19
...

一种利用dblink模式:

1 Create public  database link xxxx connect to xxxx identified by  xxxxusing 'xxxx';
--select 'drop table   '||trim(xxxx)||';' from dt_tabinfo where dw_sysid = '0005'
--2 select 'create  synonym '||trim(dw_tabid)||' for TOTALPLANT.'||trim(dw_tabid)||'@mes;' from dt_tabinfo where dw_sysid = '0005'
--select 'select  count(*) from  '||trim(dw_tabid)||' ;' from dt_tabinfo where dw_sysid = '0005'
3  select 'create  table '||trim(dw_tabid)||' as select * from  TOTALPLANT.'||trim(dw_tabid)||'@xxxx;' from dt_tabinfo where dw_sysid = '0005'

4 --执行select出来的sql

5   drop public database link xxxx;


这样就能把另一个数据库的表快速复制过来。

经测试接近200W的表复制大约只要10多秒,数据还是非常快的。

关于数据同步,可以利用oracle的快照模式,是亚秒级的,可以实现双向复制,有用的可以共同讨论。