文档解释
ORA-16603: Data Guard broker detected a mismatch in configuration ID
Cause: There was a mismatch in configuration unique ID. This could occur if the original configuration was re-created while this database was disconnected from the network or the same database was added to two different Data Guard broker configurations.
Action: Make sure the database belongs to only one broker configuration. Shut down the broker by setting the DG_BROKER_START initialization parameter to false. Then remove the Data Guard broker configuration files. Finally restart the broker by setting the DG_BROKER_START initialization parameter to true.
ORA-16603是Oracle 11g/12c数据库配置Data Guard时可能发生的一个错误信息。此错误表示数据库守护进程Data Guard broker检测到了不一致的配置ID(Oracle Data Guard configuration ID),通过此ID可以标识每个Data Guard配置,如果这个值不一致,就会发生此错误。
官方解释
ORA-16603表示数据库守护进程Data Guard broker(DGMGRL)检测到了不一致的配置ID(Oracle Data Guard configuration ID)。每个Data Guard配置都会有一个configuration ID,如果在相同的Data Guard配置中不同实例的configuration ID不一致,则会发生此错误。
常见案例
通常发生此错误的原因是,有另一个主实例刚刚启动,但是空的Data Guard配置ID已经被赋值给它。也就是说,新的主实例的Data Guard配置ID已经开始存在,而prior attach另一个实例,此时此实例还没有写入正确的Data Guard配置ID,上述返回错误即发生。
一般处理方法及步骤
1. 断开唤醒的实例并停止它;
2. 确保新的主实例可以连接到相同的Data Guard配置,这通常是通过使用其他实例的守护程序或SQL *Plus连接的方式完成的;
3. 重新启动唤醒的实例;
4. 重启守护程序Data Guard和Monitor;
5. 使用另一个实例验证configuration ID是否已成功配置;
6. 检查守护进程状态;
7. 将实例重新配置为可用性模式。