一、问题现象
Oracle 19c ADG测试环境,有测试中心同事反馈说DG同步异常,需要进行排查!
二、问题分析
2.1 DB Alert日志
看到了DG经典的ORA-16191报错!
2.2阅读Trace文件
可以看到Trace ORA-01017连接问题,结合ORA-16191很有可能密码不对!
2.3 Oracle DG的口令文件
参考:
https://www.cnblogs.com/lvcha001/p/9359710.html
其实根据以前的测试可以发现如下信息:
1.主库往备库传输归档日志,是需要使用sys从主库往备库发起远程连接的!
2.当主备口令文件不一致时,那么主库发起的远程连接会报错,那么DG同步当然受到影响,因为DG无法接收主库的归档日志了;
3.由于11g oracle 口令文件都在文件系统,那么主库修改口令文件的操作,无法同步到DG,很容易导致主备建立的连接,重置后再次连接报错!导致主备延迟,11g运维经验告诉我们,主库修改口令文件,需要scp最新的到dg替换!
那么Oracle 12c之后,Oracle推出了db passwd asm存储的特性,RAC TO RAC ADG的情况下,DB的口令文件存储在ASM中,那么主库修改的操作,可以同步到DG环境,避免每次修改都需要人为修改!
三、问题处理
3.1 检查主备的口令文件
此处就不在列举具体信息了:
$srvctl config database -d db_name
检查发现主备都有口令文件,并且都存储在ASM??? 那还会有这个问题吗?
再次检查发现,备库node1 oracle> 本地文件系统存在口令文件!!! 那么这个问题找到了,由于不知道哪个运维人员,备份了一次本地口令,导致Oracle口令文件回到了Oracle 11g的情况下,主库修改口令文件,主库的asm 口令文件和 备库的文件系统口令文件不在一致! 连接重置后,连接失败!
问题处理,和11g一样,本篇文章记录到了12c asm口令文件如何拿出来,放进去呢?
3.2 口令文件操作
#primary grid$srvctl config database -d ora19cf Password file :+DATADG/password/pwdora19cf.23413241 grid$asmcmd pwcopy +DATADG/password/pwdora19cf.23413241 /tmp/20220324_orapw #scp --将主库最新的口令文件,传输至备库 #standby grid$srvctl config database -d ora19cfdg Password file :+DATADG/password/pwdora19cfdg.12435454 grid$asmcmd pwcopy /tmp/20220324_orapw +DATADG/password/20220324_orapw oracle$srvctl modify database -d ora19cfdg -pwfile '+DATADG/password/20220324_orapw' oracle$srvctl stop database -d ora19cfdg oracle$srvctl start database -d ora19cfdg 由于19c ADG环境DB启动后,自启动MRP,观察一段时间是否追上数据!
复制
评论
