欢迎访问机房运维工作室

爱数知识库

AnyBackup-Oracle RAC 数据库恢复到 Oracle 单机数据库,启库失败,提示错误信息:ORA-00392,ORA-00312

频道:爱数知识库 日期: 浏览:25

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