RAC-DG从11.2.0.1.0 升级到11.2.0.4.0后,在主库操作后,无法同步数据到备库,在主库检查如下:
SQL> selectopen_mode,protection_mode,protection_level,database_role,switchover_status fromv$database;
OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL DATABASE_ROLE SWITCHOVER_STATUS
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------
READWRITE MAXIMUM AVAILABILITY RESYNCH……. PRIMARY FAILURE DESTINATION
select *from v$dataguard_status;
Log TransportServices Error 2 33 16191 YES 2015-10-0423:18:44 PING[ARC2]: Heartbeat failed to connect to standby 'stdb'. Error is16191.
Log TransportServices Error 0 34 1017 YES 2015-10-0423:18:45 Error 1017 received logging on to the standby
检查在主备库进行 tnspingstdb和 tnsping racdb都是通的。
检查主库的alert日志如下:
PING[ARC2]:Heartbeat failed to connect to standby 'stdb'. Error is 16191.
Error 1017 receivedlogging on to the standby
------------------------------------------------------------
Check thatthe primary and standby are using a password file
andremote_login_passwordfile is set to SHARED or EXCLUSIVE,
and thatthe SYS password is same in the password files.
returning error ORA-16191
提示:主备库的remote_login_passwordfile 参数值必须要设置为 SHARED 或EXCLUSIVE,并且主备库密码文件要相同。
排查思路:检查remote_login_passwordfile参数设置没问题,那应该是我升级RAC和DG数据库升级后,密码文件不一样了,最后将RAC节点的密码文件复制到备库后解决,也可以在主库重新用 orapwd file=orapw<SID> password=密码 force=y 命令重新生成密码文件再复制到另一RACA节点和备库。