AnyBackup-Oracle RAC 数据库恢复到 Oracle 单机数据库,启库失败,提示错误信息:ORA-00392,ORA-00312
关键字
ORA-00392、ORA-00312
适用产品
- 超易备 5.0.x
- AnyBackup 5.0.x
- AnyBackup 6.0.x
- AnyBackup CDM 7.0.x
- AnyBackup Express 7.0.x
问题描述
在 AnyBackup 管理控制台上,Oracle RAC 数据库恢复到 Oracle 单机数据库上,恢复完后修改完 REDO 日志文件的路径后,执行 alter database open resetlogs 启动数据库失败,提示如下错误信息:
alter database open resetlogs
*
ERROR at line 1:
ORA-00392: log 8 of thread 1 is being cleared,operation not allowed
ORA-00312: online log 8 thread 1: '/oradata/nwpudb/redo08.log'
ORA-00312: online log 8 thread 1: '/oradata/nwpudb/redo20.log'
问题影响
目标机 Oracle 数据库无法启库。
问题原因
目标机 Oracle 数据库的 REDO 日志正在被重建或者重建时出现错误,所以启库失败。
解决方案
为了解决该问题,需要对正在被重建或者重建时出现错误的 REDO 日志文件组执行 clear 操作,具体步骤如下:
1. 使用 oracle 用户登录 Oracle 数据库服务器,执行命令如下:
su - oracle
sqlplus / as sysdba
2. 查看 REDO 日志文件组的状态,执行命令如下:
select group#,status from v$log;
上图示例中,REDO 日志文件组的状态为 CLEARING 表示 REDO 日志在重建中,状态为 CLEARING_CURRENT 表示 REDO 日志重建时出现错误。
3. 将第 2 步 中状态为 CLEARING 和 CLEARING_CURRENT 的 REDO 日志文件组执行 clear ,执行命令如下:
alter database clear logfile group 1;
alter database clear logfile group 2;
alter database clear logfile group 3;
上图示例中,1,2,3 为 REDO 日志文件组的序号,具体以实际情况为准。
4. 确认 REDO 日志文件组的状态,执行命令如下:
select group#,status from v$log;
上图示例中,REDO 日志文件组不再出现 CLEARING 和 CLEARING_CURRENT 的状态即为正常。
5. 启动数据库,执行命令如下:
alter database open resetlogs;
更多信息
关于 Oracle 数据库报错代码:ORA-00392 和 ORA-00312 的更多信息,请参考 Oracle 官方文档:Database Error Messages 。