从oracle A数据库服务器 同步 25张表数据 到 远程 oracle B数据库服务器 其中有6-7张表数据库量 达到千万,总的数据量达到亿级 高手们,可有什么好的办法?
目前方法:
新建DBLink:DBL_B
insert into B_a@DBL_B select * from A_a;
但是测试发现这样性能不高,a表数据量 2千万,同步要3个小时
亿万的数据,光数据库就得10几个G吧,不说别的,光是传输这单纯的10G的文件恐怕也得很长时间。
DBLink的话,建议结合物理视图一起使用,只同步变化的数据,然后定时调用进行同步。这样性能相对会好一些。
迁移大数据量处理原则:
insert:尽量在无索引的情况下插入数据,有表索引会影响速率;
select:保证where条件字段能用上索引
所以解决这个问题,可以考虑动态建立索引。