ORA-16267: Cannot instantiate a Logical Standby during a switchover

文档解释

ORA-16267: Cannot instantiate a Logical Standby during a switchover

Cause: An instantiation of a Logical Standby has been attempted for a primary database that is in the middle of a switchover.

Action: Execute ALTER DATABASE PREPARE TO SWITCHOVER CANCEL to cancel the switchover, and attempt the instantiation again.

ORA-16267 错误表明,不能在切换操作进行期间实例化一个逻辑数据库。

**官方解释**

ORA-16267被Oracle官方定义为一个友好的故障。它提示让您知道,您正在尝试在一个错误的时机执行一个操作:实例化一个逻辑数据库。特别是,该操作在数据库切换操作过程中执行是不安全的,因为不是所有的Redo都可以从活动数据库捕获的操作,对于从主节点的实例切换到逻辑数据库。因此,如果实例化逻辑数据库,ORA-16267错误将会出现。

常见案例

ORA-16267错误可以在实例化逻辑数据库时发生,但是主要是在切换操作正在进行中,即使非常细微的切换操作。此时,例如,可能存在短暂的排他锁,导致ORA-16267错误发生。

**正常处理方法及步骤**

一般处理方法及步骤

1. 确认没有活动的切换操作正在进行的状态。

2. 确保将记录在主数据库当中所有变更都复制到逻辑数据库当中。

3. 如果是ORA-16266错误发生,您可以通过关闭分发进行使用,然后打开分发。

4. 如果一切正常,您可以重新尝试实例化逻辑数据库。

5. 如果是Oracle网络错误,您需要检查以确定没有问题的设置。如果检查发现没有问题,您可以重新尝试实例化逻辑数据库。

你可能感兴趣的