ORA-00392 ORA-00312 日志正在清除故障

简介: 最近在还原Oracle数据库后open的时候碰到了ORA-00392: log 3 of thread 1 is being cleared, operation not allowed,其字面含义则是日志文件正在被清除,不允许操作。

最近在还原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 allowed
ORA-00312: online log 3 thread 1: '/oradata/sincnet/redo03.log'

-- 查看故障描述信息
SQL> ho oerr ora 00392
00392, 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,依旧错误,实例终止,需要upgrade
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00704: bootstrap process failure
ORA-39700: database must be opened with UPGRADE option
Process ID: 30553
Session ID: 1217 Serial number: 3

--查看是否存在pmon进程
SQL> ho ps -ef|grep pmon
oracle   30589 30440  0 16:02 pts/1    00:00:00 /bin/bash -c ps -ef|grep pmon
oracle   30591 30589  0 16:02 pts/1    00:00:00 grep pmon

--Author : Leshami
--Blog   : http://blog.csdn.net/leshami
--下面尝试upgrade,因为当前基于一个11.2.0.1的备份恢复到11.2.0.4,所以需要upgrade
SQL> startup upgrade;
ORA-24324: service handle not initialized
ORA-01041: internal error. hostdef extension doesn't exist
SQL> 
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@10134569 DBSRV]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Feb 24 16:03:15 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup upgrade;
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2260088 bytes
Variable Size             704643976 bytes
Database Buffers          352321536 bytes
Redo Buffers                9711616 bytes
Database mounted.
Database opened.
SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql; --执行升级脚本
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
6月前
|
Linux Perl
Linux 系统快速分析日志定位故障原因的 10 个方法
在 Linux 系统中,日志是一种非常重要的资源。系统管理员可以通过日志记录的内容来检测系统的运行状况,分析问题,做出相应的调整和优化。由于日志文件数量庞大,内容复杂,因此需要使用一些工具和技术帮助管理员进行快速分析和查找。 本文将介绍 Linux 系统中快速分析日志、定位故障的 10 个方法。
942 1
|
2月前
|
文字识别 运维 Oracle
asm 磁盘故障处理日志
asm 磁盘故障处理日志
23 2
|
Arthas 监控 Java
一个迷惑性很高的生产故障-Elasticsearch日志rotate导致节点CPU激增
Elasticsearch CPU很高的场景很常见,优化读写以及扩容即可解决问题。 如果只有一个节点CPU高,那可能的情况就比较多了,节点机器异常?读写不均匀?GC过高?forcemerge? 这里描述一个极具迷惑性的case。
424 0
一个迷惑性很高的生产故障-Elasticsearch日志rotate导致节点CPU激增
|
运维 监控 Oracle
【故障处理】告警日志报“ORA-01565 Unable To open Spfile”
【故障处理】告警日志报“ORA-01565 Unable To open Spfile” 1.1  BLOG文档结构图   1.
1188 0
|
SQL 数据库 关系型数据库
通过事务日志解决SQL Server常见四大故障(一)
  同Oracle数据库一样,SQL Server数据库中也有事务日志。事务日志主要用来记录所有事务以及每个事务对数据库进行了哪些更改。事务日志可以说是数据库中最重要的数据文件之一。   当系统出现故障时,只要存在数据日志那么就可以利用它来恢复数据解决数据库故障。
1076 0
|
SQL 数据库
通过事务日志解决SQL Server常见四大故障(二)
  数据库镜像方案有两种镜像运行模式。一种是“高安全性模式”,它支持同步操作。在高安全性模式下,当会话开始时,镜像服务器将使镜像数据库尽快与主体数据库同步,一旦同步了数据库,事务将在伙伴双方处提交,这会延长事务滞后时间。
798 0

热门文章

最新文章