一次特别的ADG ORA-16191故障解决

时间:2024-03-16 14:10:15

客户环境是windows 11.2.04 adg同步到linux下11.2.0.4.

搭建好同步之后正常运行了两天后出现目标端延时.经过检查发现是源端无法发送日志,报错ORA-16191:主日志传送客户机没有登录到备用数据库:

一次特别的ADG ORA-16191故障解决

这个错误遇到过很多次了,基本都是密码文件不对,可能需要重建密码文件等等,以前也遇到过一次奇怪的ORA-16191,详细见博客:

https://blog.csdn.net/su377486/article/details/96988184

这次的情况和以前的都不一样,查看alert日志,这里还是提示了要么是密码文件不对,要么就是参数设置不对,但是都重新检查设置过确认没有问题.

一次特别的ADG ORA-16191故障解决
但是我们注意到产生了trace文件,需要到trace文件中去看看是否有新的发现:

一次特别的ADG ORA-16191故障解决

确实我们发现了一个新的关键的错误

ORA-38802:edition does not exist.

这个错误就很明显了,这个是版本不存在,就是说两个库的补丁不一致.

检查了发现windows中安装了补丁2015年的第一季度的patch bunddle,但是linux没有打任何补丁.

又发现一个问题,windows下的补丁和linux的补丁是不一样的,根据windows下的patch号进行查找根本没有linux版本.

这里尝试给linux下oracle打上了2019年的psu,然后重新进行应用发现依然报错.应该还是由于某个小的补丁不一致导致的.

最后想到,这里的目标端一直的read only打开然后应用的,由于补丁的不一致导致无法发送日志.那么其实只要将数据库打开到mount状态就可以了.

尝试将目标端打开到mount下,然后开启实时应用,恢复正常.