Data Guard 不同步日志,备库不应用日志,报错Error12514received logging on to the standby

Data Guard 不同步日志,备库不应用日志,报错Error12514received logging on to the standby
Data Guard 不同步日志,备库不应用日志
尝试解决
回顾制作备库的过程
Data Guard 不同步日志,备库不应用日志
最近遇到一个非常奇怪的问题,在生产系统通过duplicate做完DG后,在备库成功打开,且进行实时同步应用,但是发现主库日志无法同步到备库,且备库竟然不识别手工传过来的归档日志,主库alert日志中报错:“Error12514received logging on to the standby”,备库直接报gap找不到归档日志,明明在归档目录有手工传过来的归档啊!!!

尝试解决
第一次碰到这种情况,感觉挺奇怪。
首先操作的是重启备库,然后直接打开库,并进行应用,结果没有任何效果,备库日志报如下错误:
发现归档依然没有传输到备库,在主库日志中看到如下报错:

于是尝试了下能否在主库通过sqlplus连接到备库,发现完全没问题,于是乎检查了下主库与备库的tnsnames及监听配置,并尝试重启备库监听,然并卵!!!

在主库通过修改一下参数进行尝试:

    alter system set log_archive_dest_state_2=defer;
    alter system set log_archive_dest_state_2=enable;
1
2
然并卵!!!

后面通过手工传输归档方式,将归档日志传输至备库,发现备库无法识别,但是将备库启动至mount后,可以通过rman进行手工恢复数据。

由于主库暂时无法重启,所以暂时搁浅到这了,但是猜测重启主库应该可以。

回顾制作备库的过程
制作备库的过程是没有问题的,其他几套DG都是用这个流程走的,而且中间没报错。

唯一有问题的是主库的相关参数是两天前修改的,但是好像是没有配置tnsnames。

后面通过查找资料发现问题其实很简单,数据库在启动时,归档进程只会初始化一次tnsname中的数据,后面如果有变化归档进程不会重新读取,由于我本次制作DG时没有配置tnsnames,所有主库会找不到备库,导致无法将归档传输至备库。至于备库为什么对手工传输的归档日志进行识别,暂时没找到相关资料,猜测应该是主库备库通信问题导致。

最后的解决办法:
1、重启主库(万能油),成功解决所有问题
2、杀掉归档进程(由于是生成,这个没有尝试,下次测试下)
3、log_archive_dest_2参数直接设置连接串,不要配置tnsname中的别名

参考MOS文档:
Adding an new Standby fails with error Ora-12154: TNS:could not resolve the connect identifier specified (文档 ID 1240558.1)

发布了481 篇原创文章 · 获赞 72 · 访问量 41万+

猜你喜欢

转载自blog.csdn.net/w892824196/article/details/104146824