DG一次故障记录--ORA-16191 ORA-01017 and ORA-16000 shipping the logs to Standby database

问题描述

主库日志:

	Error 1017 received logging on to the standby
	------------------------------------------------------------
	Check that the primary and standby are using a password file
	and remote_login_passwordfile is set to SHARED or EXCLUSIVE,
	and that the SYS password is same in the password files.
	returning error ORA-16191
	------------------------------------------------------------

DG一次故障记录--ORA-16191 ORA-01017 and ORA-16000 shipping the logs to Standby database
从日志上看,本以为是一个很简单的问题,但是检查了配置参数,重建了密码。问题依旧存在,这时只能求助MOS文档:
ORA-16191 ORA-01017 and ORA-16000 shipping the logs to Standby database (文档 ID 2129339.1)
文章中提到引起该问题可能的原因是备库中一个隐藏参数“_system_trig_enabled”引起的,该参数控制了备库登录是否使用触发器,默认:TRUE。

解决方法

在备库上修改隐藏参数为FALSE

查看参数值:

SELECT I.KSPPINM NAME,
   I.KSPPDESC DESCRIPTION,
   CV.KSPPSTVL VALUE,
   CV.KSPPSTDF ISDEFAULT
 FROM SYS.X$KSPPI I, SYS.X$KSPPCV CV
WHERE I.INST_ID = USERENV('Instance')
  AND CV.INST_ID = USERENV('Instance')
  AND I.INDX = CV.INDX
  AND I.KSPPINM LIKE '_system_trig_enabled'
ORDER BY REPLACE(I.KSPPINM, '_', '');
NAME			       DESCRIPTION		      VALUE	 ISDEFAULT
------------------------------ ------------------------------ ---------- ---------
_system_trig_enabled	       are system triggers enabled    TRUE	 TRUE

修改参数:

ALTER SYSTEM SET "_system_trig_enabled"=FALSE;

验证

主库
DG一次故障记录--ORA-16191 ORA-01017 and ORA-16000 shipping the logs to Standby database

从库:
日志
DG一次故障记录--ORA-16191 ORA-01017 and ORA-16000 shipping the logs to Standby database

SQL> select sequence,applied from (select sequence# sequence,applied from v$archived_log order by sequence# desc) where rownum <=10;
 SEQUENCE APPLIED
---------- ---------
   23413 YES
   23412 YES
   23411 YES
   23410 YES
   23409 YES
   23408 YES
   23407 YES
   23406 YES
   23405 YES
   23404 YES
10 rows selected.