亲爱滴伙伴们!本萎专家又来了,掌声响起来。哈哈哈。。。。。。咋感觉那么别扭啊。
好了,下面开始咱今天的分享。
由于12C版本不是很稳定,本萎大湿所在客户现场后续安装的数据库都集成19C版本。这就涉及频繁的数据迁移、同步等工作。
本篇就本萎大湿遇到的几个数据导出导入(EXPDP/IMPDP)遇到的问题进行一个分享。希望对各位看官有所借鉴。
场景一:
源端:12.2.0.1
目标端:19.3
在目标端通过imdp走dblink方式导入时,报ORA-39097,ORA-39065,ORA-03150
报错截图如下:
从图中我们可以看到JOB由于通道关闭导致导入失败,最开始本萎大湿怀疑是网络问题,通过ping,traceroute等各种姿势确认网络没问题。
心烦意燥之下,本萎大湿自我安慰任务报错是偶发的,并再次尝试,在成功导入几个表之后又出现通道关闭报错。多次尝试之后,本萎大湿放弃了。
他丫的就一个导数而已,难道又遇上了19C数据泵走dblink方式的兼容性BUG?!去MOS撸撸吧,MOS上发现很多关于ORA-39097,ORA-39065报错的文章,但没一篇跟本萎大湿情况是类似的。
困难面前,大湿都是坚挺的,于是尝试在源端导出dmp文件,然后SCP到目标端再导入。人品大爆发啊,终于导入成功了。
说到这里本萎大湿要感慨下,impdp走dblink方式数据导入一直都有不少BUG,无论哪个版本都是这个命运。根据本萎大湿多年夜观天象得出的结论,这种问题都有一个最终的万全解决办法,那就是:
导出DMP文件到本地,然后SCP至目标端再impdp导入,保证啥报错都不会出。
附上本次走Dblink导入的脚本:
场景二:
源端:19.3
目标端:12.2.0.1
将dmp文件从源端导出并已传至目标端,在目标端进行导入的时候,发现impdp卡在连接数据库这一步,定住,不动了。我滴个乖乖,真的是见了锤子了。
导入日志如下:
在标注这里就没有日志输出了。就像两个互相钦慕已久的年轻人,好不容易疫情下开个房,良辰美景之际,坐床上聊天到天亮,没有进一步动作,脑袋被驴踢了吧。。。
查看impdp进程,发现并没有派生sqlplus进程,证明还没到连接数据库那步
是不是主机资源有什么异常,查看后发现内存紧张,swap都使用了85%了
那到底跟内存有没有关系呢?决定尝试释放内存试试。由于是测试库,只要确认应用没用即可重启实例。重启实例之后内存及swap均释放不少,再次导入成功。
场景三:
源端:19.3
目标端:12.2.0.1
将dmp文件从源端导出并传至目标端,在目标端进行导入的时候,报19C导出的dmp文件不兼容12C:
解决办法:
在19C expdp导出时加入参数version=12.2.0.1.0即可
最后,很多看官可能会问,萎大湿啊,你这些脚本都是可以直接copy使用的,但你用的是图片,你是啥居心啊?
本萎大湿只想说,年轻人,我是为你好,用这种方式来锻炼你的手速。
好了,本次分享到此结束,咱们下回分解再见,周末愉快。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/130231.html
阅读 1345·2023-01-11 13:20
阅读 1683·2023-01-11 13:20
阅读 1132·2023-01-11 13:20
阅读 1858·2023-01-11 13:20
阅读 4099·2023-01-11 13:20
阅读 2704·2023-01-11 13:20
阅读 1385·2023-01-11 13:20
阅读 3594·2023-01-11 13:20