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

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

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

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

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

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

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

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

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

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

dblink,impdp,ogg,dsg

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

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

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

image.png

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

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

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

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

用上dblink,merge into语法搞吧

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

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

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

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

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

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

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
快速purge dba_recyclebin
回答 7
问题已关闭:问题已经得到解决
Oracle 开启归档之后,会影响redo切换吗?如果会,具体是什么影响呢?
回答 2
已采纳
会影响的,如果redo未能及时归档,会导致redo切换卡住相关等待事件logfileswitch(archivingneed)
如何清除不存在的归档日志
回答 23
最后咋解决的呀,学习学习
Oracle impdp导入后比之前源库的占用空间要小,正常吗?
回答 2
正常啊,impdp相当于对表进行了重新整理,可以消除表和索引的碎片。
Oracle standby awr 是不是记录的都是主库的数据, 从库的awr 怎么查?
回答 3
InthisDocumentAPPLIESTO:OracleDatabaseEnterpriseEditionVersion11.1.0.6to12.2.0.1[Release11.1to12.2]I
数据库集群数据库在搭建的过程中,集群软件,数据库软件,数据库实例都需要在两个节点上操作吗
回答 2
11GRAC除了,两个服务器系统参数的配置要单独执行,其他ORACLE的安装都是在一个节点操作就可以了。
Oracle数据库备份,一般备份什么格式?
回答 1
已采纳
看你用哪种方式,expdp方式是dmp后缀,rman一般是bkp
Oracle DG 的备机意外关机后报错: ORA-01196: file 1 is inconsistent due to a failed media recovery session
回答 1
备库启动到mount下,启动MRP进程恢复下归档
godengate12c 不能同步数据
回答 4
升级问题到:一般问题为什么在ogg1数据库表,无意中执行一个错误的update语句,想更新数据库表一个数据记录的字段值。就造成ogg2的rep01就变成abend状态?无论如何start/stop都是
Oracle数据库TABLE ACCESS BY INDEX ROWID前面有“*”号怎么办?
回答 1
已采纳
TABLEACCESSBYINDEXROWID前面有“”号表示回表再过滤。回表再过滤说明数据没有在索引中过滤干净。当TABLEACCESSBYINDEXROWID前面有“”号时,可以将“”号下面的过滤