文档解释
ORA-16087: Switchover requires standby or current control file.
Cause: An attempt was made to perform a switchover operation using a backup or clone control file.
Action: Convert the backup control file into a current control file prior to attempting a switchover operation. A clone control file cannot be used for a switchover operation.
ORA-16087 是一个数据库切换(Switchover)时出现的错误。它指出在切换过程中,必须存在一个当前的控制文件(control file)或一个备用控制文件(standby control file)。如果没有这样的控制文件是无法完成切换操作的。
官方解释
这意味着,如果要完成切换操作,必须存在一个当前控制文件或一个备用控制文件。
常见案例
此错误通常在下列情况下发生:
1. 尝试从一个数据库(primary database)切换到另一个数据库(standby database)时:没有在 standby database 中存在存在可用的控制文件,导致系统无法完成切换动作;
2. 系统发生重要错误,导致某一控制文件无法被使用的情况下:两个数据库中都没有一个可用的控制文件,所以无法完成切换操作。
一般处理方法及步骤
1. 首先,需要找到控制文件所在的位置,这通常是数据库安装路径下面的“CONTROL”目录。
2. 接着,在主库(Primary database)中将控制文件备份并记录控制文件名称,以便将其复制到备库(Standby database)。
3. 然后,将备份后的控制文件复制到备库(Standby database)。
4. 最后,将复制后的控制文件重命名为原控制文件的名称,并启动数据库,使其从 standby database 切换回 primary database。
如果连接到备库(Standby database)上时还遇到错误,也可能是控制文件被损坏或其他原因,因此还需要根据错误信息继续排查其他可能存在的问题。