六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 66|回复: 0

oracle数据库间数据快速 复制

[复制链接]

升级  29.33%

80

主题

80

主题

80

主题

举人

Rank: 3Rank: 3

积分
288
 楼主| 发表于 2013-1-14 08:56:17 | 显示全部楼层 |阅读模式
一种利用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的快照模式,是亚秒级的,可以实现双向复制,有用的可以共同讨论。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表