物理dg ORA-16191

本文记录了解决Oracle RAC环境中,由于密码文件配置不当导致的心跳连接失败问题。通过对密码文件的复制和正确命名,实现了Active端与Standby端的正常通讯。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PING[ARC1]: Heartbeat failed to connect to standby 'phydb'. Error is 16191.
Fri Jul 19 01:49:52 2013
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

------------------------------------以上是alert中报错-----------------------------------------------------------------------


Active是一个双节点rac 11.2.0.3    standby是一个单节点asm 也是11.2.0.3   for X86_64


----------------------------------------以上是环境描述--------------------------------------------------------------------------


在做dg时,是要保证dg双方的sys密码是一致的。我这里比如sys的密码是password

为了保证通过 sqlplus sys/password@节点 as sysdba     三个节点可以互联。

推荐将Active端的密码文件复制到standby端,并修改为正确的名字(orapw$ORACLE_SID)


昨天遇到的问题是,

Active是个双节点rac。
如果拷贝一节点的密码文件,一节点和standby就能通讯,但二节点不行
如果拷贝二节点的密码文件,二节点和standby就能通讯,但一节点不行

折磨了我快一个小时,已经要疯掉了,报错就是top的那个报错


后来经过别人的提醒。将一节点的密码文件复制到二节点并改名,再将其复制到standby 并改名。

三个节点通讯就正常了。

记录一下。




====================================================
勤学如春起之苗,不见其增日有所长。辍学如磨刀之石,不见其损日有所亏。——陶渊明
Email:    orahank.dai@gmail.com

<think>嗯,用户遇到了ORA-00205错误,当执行ALTER DATABASE MOUNT命令时。我需要先理解这个错误的原因。根据引用[3],ORA-39181错误提到数据库在导出时需要处于open状态,而如果处于mount等状态可能有问题,但这里的情况是mount命令本身出错。ORA-00205通常与控制文件有关,可能是指控制文件无法找到或损坏。 用户提供的引用[4]提到在RAC环境中,数据文件没有正确添加到ASM磁盘组导致节点访问问题。可能控制文件的路径配置错误,尤其是在RAC环境下,控制文件可能存放在ASM中,如果路径不正确或权限有问题,就会导致无法挂载数据库。 首先,应该检查控制文件的状态和路径是否正确。Oracle实例启动时需要读取控制文件,如果控制文件损坏、丢失或路径错误,就会报ORA-00205。需要查看alert日志,确认具体的错误信息,比如控制文件的具体路径是否存在问题。 另外,控制文件可能在SPFILE中有配置,需要检查SPFILE中的control_files参数是否正确指向了ASM磁盘组的位置,而不是本地路径。在RAC环境中,使用本地路径会导致其他节点无法访问,必须使用共享存储如ASM。 还有可能是权限问题,ASM磁盘组的权限是否正确设置,确保Oracle用户有权限访问这些文件。或者存储层的问题,比如ASM实例未启动,或者磁盘组未正确挂载。 可能的解决步骤包括:检查alert日志获取详细信息,验证control_files参数,确保所有节点都能访问控制文件,修复或恢复控制文件,必要时从备份中恢复。 另外,需要确认数据库是否处于nomount状态,因为mount阶段需要控制文件,而startup nomount只启动实例,不加载控制文件。如果控制文件有问题,nomount可能成功,但mount会失败。 总结来说,ORA-00205主要与控制文件有关,需要从路径、权限、状态和完整性几个方面排查。特别是在RAC环境下,共享存储的正确配置至关重要。</think>### ORA-00205错误分析与解决方法 **ORA-00205错误**表示Oracle数据库在尝试执行`ALTER DATABASE MOUNT`命令时无法找到或识别控制文件。以下是逐步排查和解决方法: --- #### 1. 检查控制文件状态 控制文件是数据库启动的关键元数据文件,记录了数据库物理结构信息。错误常见原因包括: - 控制文件路径配置错误 - 控制文件损坏或丢失 - 存储权限问题(尤其在RAC环境中) **操作步骤:** 1. **查看`alert.log`日志** 通过数据库服务器的`alert_<SID>.log`文件定位具体错误细节: ```bash tail -f $ORACLE_BASE/diag/rdbms/<DB_NAME>/<SID>/trace/alert_<SID>.log ``` 日志中可能显示类似: ``` ORA-00205: error in identifying control file, check alert log for more info ``` 2. **验证控制文件路径** 检查`SPFILE`或`PFILE`中的`control_files`参数配置: ```sql SHOW PARAMETER control_files; ``` 确保路径指向**共享存储(如ASM磁盘组)**而非本地路径[^4]。 **错误示例**:`control_files='/u01/oradata/control01.ctl'`(本地路径) **正确示例**:`control_files='+DATA_DG/control01.ctl'`(ASM路径) --- #### 2. RAC环境特殊检查 在Oracle RAC中,控制文件必须存储在**共享存储(如ASM)**中,否则其他节点无法访问: 1. 确认ASM磁盘组状态: ```sql SELECT name, state FROM v$asm_diskgroup; ``` 确保`DATA_DG`等磁盘组状态为`MOUNTED`。 2. 检查控制文件权限: ```bash asmcmd ls -l +DATA_DG/<DB_NAME>/CONTROLFILE ``` 确认Oracle用户(如`oracle:dba`)有读写权限。 --- #### 3. 恢复控制文件 如果控制文件损坏或丢失,需从备份恢复: 1. **使用RMAN恢复** 若配置了自动备份: ```sql RMAN> STARTUP NOMOUNT; RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP; RMAN> ALTER DATABASE MOUNT; ``` 2. **手动重建控制文件** 若无备份,需通过`CREATE CONTROLFILE`命令重建(需提前准备好脚本)。 --- #### 4. 其他可能原因 - **NLS_LANG设置冲突**:若环境变量`NLS_LANG`与数据库字符集不匹配,可能导致元数据解析错误[^3]。 - **存储层故障**:检查ASM实例状态及存储网络连通性。 --- ### 总结步骤 1. 通过`alert.log`定位具体错误。 2. 检查`control_files`参数指向共享存储。 3. 验证ASM磁盘组状态和权限。 4. 恢复或重建控制文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值