0
点赞
收藏
分享

微信扫一扫

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

王传学 2022-02-13 阅读 60


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)


举报

相关推荐

0 条评论