Data Guard 奇葩的 ORA-16191: Primary log shipping client not logged on standby 问题


搞了一个Data Gurad,switchover之后,检查配置情况:

SQL> select dest_name,status,error from v$archive_dest where rownum<3;

 

DEST_NAME                  STATUS    ERROR                       

--------------------        ---------   -------------------------------

LOG_ARCHIVE_DEST_1   VALID

LOG_ARCHIVE_DEST_2   ERROR    ORA-16191: Primary log shipping client not logged on standby

 

报了ORA-16191 的错误。

 

alert log的信息如下:

 

 

------------------------------------------------------------

PING[ARC2]: Heartbeat failed to connect tostandby 'dave'. Error is 16191.

Thu Jul 18 21:41:20 2013

Error 1017 received logging on to thestandby

------------------------------------------------------------

Check that the primaryand standby are using a password file

andremote_login_passwordfile is set to SHARED or EXCLUSIVE,

and that the SYS passwordis same in the password files.

      returning error ORA-16191

 

错误讲的很清楚,口令文件的问题。

 

检查了一下,remote_login_passwordfile参数没有问题,然后在所有节点都使用orapwd命令重建了口令文件,依旧报错。

[oracle@davedbs]$ orapwd file=$ORACLE_HOME/dbs/orapwdave1 password=oracle

[oracle@davedbs]$ orapwd file=$ORACLE_HOME/dbs/orapwdave2 password=oracle

 

 

使用alter user 重建密码也不行。

 

最后在主库创建了一份口令文件,然后把口令文件传送到其他节点,并rename,过了几分钟,再次查询,就ok了。

 

好奇葩吧,备注一下,以防下次在遇到。

 

 

 

 

 

--------------------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

QQ:492913789

Email:ahdba@qq.com

Blog:  http://www.cndba.cn/dave

Weibo:    http://weibo.com/tianlesoftware

Twitter:  http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware


### 解决ORA-01012 错误并正确执行 `archive log list` 命令 当遇到 `ORA-01012: not logged on` 的错误提示时,这通常意味着当前会话未成功连接到数据库实例。为了有效解决问题并顺利执行 `archive log list` 命令,需遵循以下建议: 对于无法通过常规方式登录的情况,可以尝试使用操作系统认证的方式强制关闭实例后再启动[^3]。 ```bash sqlplus "/ as sysdba" shutdown abort; startup; ``` 上述操作能够终止所有活动进程,并重启数据库服务,从而恢复正常状态下的登录功能。 一旦成功以SYSDBA身份登录之后,就可以安全地运行 `archive log list` 来查看归档日志的信息了: ```sql ARCHIVE LOG LIST; ``` 此命令用于显示有关数据库归档模式的状态以及归档目的地等重要详情。如果之前因为权限不足或其他原因未能正常工作,则现在应该可以看到预期的结果。 #### 关于可能引起该问题的原因分析 有时即使是以 SYS 用户的身份也无法完成正常的查询动作,比如试图从视图 `v$log` 中获取数据却遇到了 `ORA-01034: ORACLE not available` 的情况[^2]。这类现象往往暗示着更深层次的问题存在——可能是由于实例尚未完全初始化或者是处于挂起状态下造成的。因此,在尝试任何诊断或修复措施前,请先确认目标环境中的Oracle实例确实已经稳定运行。 另外需要注意的是,如果系统中活跃的用户数量过多以至于超过了预设的最大并发量(`processes`)参数设定的话,也会导致新建立的连接请求被拒绝,进而引发类似的登录失败状况。针对这种情况,除了等待现有用户的减少外还可以考虑调整配置文件来增加允许的同时在线人数上限或是清理不必要的后台作业以释放资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值