暂无图片
不同Oracle数据库数据合并
我来答
分享
卢家琦
2022-09-07
不同Oracle数据库数据合并

需求:将A库的数据合并到B库。

数据库版本:A和B库的版本一致,都是11.2.0.4

数据量:A库数据量大概1TB

请问用什么方式可以把A库的数据合并到B库呢

当前想到的是用dblink,然后收集下需要具体合并哪些表,以及表结构是否一致等问题

我来答
添加附件
收藏
分享
问题补充
9条回答
默认
最新
布衣
暂无图片

那你就没有别的选择了,dblink了,1T的数据,你只能一点点的来了,小表无所谓,大表的话尽量按分区来,如果没有分区,就按日期一点点的同步进来。
要不一张大表上亿数据,你直接整个表搞,容易ora-01555,或你都不知道啥时候你能执行完。

历史经验分享给你,希望对你有所帮助,如有帮助请采纳。

暂无图片 评论
暂无图片 有用 0
暂无图片
吾喾

dblink,impdp,ogg,dsg

暂无图片 评论
暂无图片 有用 0
卢家琦

impdp不会把现有数据清空吗,dsg不是商用的吗(没有授权无法使用的),ogg可以实现数据合并?没听过

暂无图片 评论
暂无图片 有用 0
吾喾
2022-09-07
不需要合并数据的表可以用上面的办法,需要合并数据的表只能人工处理dblink了。毕竟数据哪个库的是有用的,是需要根据业务判断的
布衣
暂无图片

image.png

我一般操作用expdp/impdp。如果是生产环境impdp 可能会有锁表的情况,当时我们生产环境遇到过。

暂无图片 评论
暂无图片 有用 0
卢家琦

不好意思,我没说清楚,客户不让直接连服务器,因为上面有其他业务,我们只能通过PL/SQL工具连接我们自己的用户

暂无图片 评论
暂无图片 有用 0
吾喾

用上dblink,merge into语法搞吧

暂无图片 评论
暂无图片 有用 0
张sir

那你这样只能用dblink了。1T的数据有点多,不好弄。

暂无图片 评论
暂无图片 有用 0
刘贵宾

这么大的数据量,还是让客户expdp给你导出,然后你再impdp导入,更方便快捷一些,导入时加上TABLE_EXISTS_ACTION=APPEND选项,那么对于已存在的表,会正常加载数据至对象,不会影响已存在的数据行

暂无图片 评论
暂无图片 有用 0
卢家琦
题主
2022-09-07
找过客户了,不会给登录服务器的权限的
Uncopyrightable

就怕以安全为借口的,过度强调生产的

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏