Welcome 微信登录

首页 / 数据库 / MySQL / ORA-00392 ORA-00312 日志正在清除故障

最近在还原Oracle数据库后open的时候碰到了ORA-00392: log 3 of thread 1 is being cleared, operation not allowed,其字面含义则是日志文件正在被清除,不允许操作。通常情况下,当我们基于不完全恢复的时候,日志文件需要被清空,而此时是正在被清空。不是很好理解啊。下面是这个问题的解决方案。

一、故障现象

SQL> alter database open resetlogs;alter database open resetlogs*ERROR at line 1:ORA-00392: log 3 of thread 1 is being cleared, operation not allowedORA-00312: online log 3 thread 1: "/oradata/sincnet/redo03.log"-- 查看故障描述信息SQL> ho oerr ora 0039200392, 00000, "log %s of thread %s is being cleared, operation not allowed"// *Cause:An operation encountered this online log in the middle of being//cleared.The command that began the clearing may have terminated//without completing the clearing.// *Action: If the clear command is still executing then wait for its//completion. If it terminated then reissue the clear command, or//drop the log.--下面的SQL语句表名3个日志文件都处于clearing状态SQL> select group#,bytes/1024/1024||"M",status from v$log;GROUP# BYTES/1024/1024||"M"STATUS---------- ----------------------------------------- ---------------- 1 50M CLEARING 3 50M CLEARING_CURRENT 2 50M CLEARING

二、故障处理

下面直接执行clear logfile 命令SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;Database altered.SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2;Database altered.SQL> ALTER DATABASE CLEAR LOGFILE GROUP 3;Database altered.--再次查看状态,此时状态显示为常见的几种正常状态SQL> select group#,bytes/1024/1024||"M",status from v$log;GROUP# BYTES/1024/1024||"M"STATUS---------- ----------------------------------------- ---------------- 1 50M UNUSED 3 50M CURRENT 2 50M UNUSED--再次尝试open resetlog,依旧错误,实例终止,需要upgradeSQL> alter database open resetlogs;alter database open resetlogs*ERROR at line 1:ORA-01092: ORACLE instance terminated. Disconnection forcedORA-00704: bootstrap process failureORA-39700: database must be opened with UPGRADE optionProcess ID: 30553Session ID: 1217 Serial number: 3--查看是否存在pmon进程SQL> ho ps -ef|grep pmonoracle 30589 304400 16:02 pts/100:00:00 /bin/bash -c ps -ef|grep pmonoracle 30591 305890 16:02 pts/100:00:00 grep pmon--Author : Leshami--Blog : http://blog.csdn.net/leshami--下面尝试upgrade,因为当前基于一个11.2.0.1的备份恢复到11.2.0.4,所以需要upgradeSQL> startup upgrade;ORA-24324: service handle not initializedORA-01041: internal error. hostdef extension doesn"t existSQL> SQL> exitDisconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options[oracle@10134569 DBSRV]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Wed Feb 24 16:03:15 2016Copyright (c) 1982, 2013, Oracle.All rights reserved.Connected to an idle instance.SQL> startup upgrade;ORACLE instance started.Total System Global Area 1068937216 bytesFixed Size2260088 bytesVariable Size 704643976 bytesDatabase Buffers352321536 bytesRedo Buffers9711616 bytesDatabase mounted.Database opened.SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql; --执行升级脚本更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址