ORA-03113: end-of-file on communication channel

今天在开启数据库时,遇到ORA-03113: end-of-file on communication channel的问题

SQL> startup        
ORACLE instance started.

Total System Global Area  455127040 bytes
Fixed Size		    2229304 bytes
Variable Size		  297798600 bytes
Database Buffers	  150994944 bytes
Redo Buffers		    4104192 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 12594
Session ID: 1 Serial number: 5
因此查看预警日志,我用的是oracle 11g,预警日志文件默认位于$ORACLE _BASE/diag/rdbms/orcl/orcl/trace目录下,如果不知道,可以查看参数background_ dump_dest,这个参数是用来指定预警日志文件和后台进程追踪文件的位置的

SQL> show parameter background_dump_dest

NAME			        TYPE	        VALUE
--------------------- ----------- ------------------------------
background_dump_dest	string	  /u01/app/oracle/diag/rdbms/orcl/orcl/trace
使用tail命令查看trace目录下的alert_orcl.log文件,显示如下:
Thu Oct 26 02:02:24 2017
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
[此处省去N多行,哈哈...]
ALTER DATABASE   MOUNT
Successful mount of redo thread 1, with mount id 1486116145
Database mounted in Exclusive Mode
Lost write protection disabled
Completed: ALTER DATABASE   MOUNT      #在mount的时候没出错呦
Thu Oct 26 02:02:30 2017
ALTER DATABASE OPEN              #在open的时候报错了,这里就是要关注的点了
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_lgwr_12518.trc:
ORA-00322: log 3 of thread 1 is not current copy
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/orcl/redo03.log'
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_lgwr_12518.trc:
ORA-00322: log 3 of thread 1 is not current copy
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/orcl/redo03.log'
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_12594.trc:
ORA-00322: log 1 of thread  is not current copy
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/orcl/redo03.log'
USER (ospid: 12594): terminating the instance due to error 322
System state dump requested by (instance=1, osid=12594), summary=[abnormal instance termination].
System State dumped to trace file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_diag_12498.trc
Dumping diagnostic data in directory=[cdmp_20171026020230], requested by (instance=1, osid=12594), summary=[abnormal instance termination].
Instance terminated by USER, pid = 12594
看报错信息,发现问题出在联机重做日志文件/u01/app/oracle/oradata/orcl/redo03.log上,这个文件中的信息和数据库现在的状态不匹配。

现在清除这个重做日志文件:

SQL> alter database clear logfile '/u01/app/oracle/oradata/orcl/redo03.log';

Database altered.
清除成功,然后继续打开数据库:

SQL> alter database open;

Database altered.
至此,数据库已经成功开启。




猜你喜欢

转载自blog.csdn.net/qq_37901207/article/details/76218414
今日推荐