Oracle启动报错:ORA-03113: end-of-file on communication channel

Oracle启动报错:ORA-03113: end-of-file on communication channel

问题背景:客户启动测试环境数据库报错


SQL> startup

ORACLE instance started.

Total System Global Area 1068937216 bytes

Fixed Size     2220200 bytes

Variable Size   885002072 bytes

Database Buffers   176160768 bytes

Redo Buffers     5554176 bytes

Database mounted.

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

Process ID: 17509

Session ID: 416 Serial number: 3


1> 查看alert日志

ARC3 started with pid=23, OS id=17541 

ARC2: Archival started

ARC1: Becoming the ‘no FAL’ ARCH

ARC1: Becoming the ‘no SRL’ ARCH

ARC2: Becoming the heartbeat ARCH

Errors in file /u01/app/oracle/diag/rdbms/ecology/ecology/trace/ecology_ora_17509.trc:

ORA-19815: WARNING: db_recovery_file_dest_size of 53687091200 bytes is 99.99% used, and has 3795456 remaining bytes available.    —归档目录以及100%

************************************************************************

You have following choices to free up space from recovery area:

1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,

   then consider changing RMAN ARCHIVELOG DELETION POLICY.

2. Back up files to tertiary device such as tape using RMAN

   BACKUP RECOVERY AREA command.

3. Add disk space and increase db_recovery_file_dest_size parameter to

   reflect the new space.

4. Delete unnecessary files using RMAN DELETE command. If an operating

   system command was used to delete files, then use RMAN CROSSCHECK and

   DELETE EXPIRED commands.

************************************************************************

Errors in file /u01/app/oracle/diag/rdbms/ecology/ecology/trace/ecology_ora_17509.trc:

ORA-19809: limit exceeded for recovery files

ORA-19804: cannot reclaim 40733696 bytes disk space from 53687091200 limit

ARCH: Error 19809 Creating archive log file to ‘/u01/app/oracle/flash_recovery_area/ECOLOGY/archivelog/2019_10_22/o1_mf_1_10288_%u_.arc’

Errors in file /u01/app/oracle/diag/rdbms/ecology/ecology/trace/ecology_ora_17509.trc:

ORA-16038: log 1 sequence# 10288 cannot be archived

ORA-19809: limit exceeded for recovery files

ORA-00312: online log 1 thread 1: ‘/u01/app/oracle/oradata/ecology/redo01.log’

USER (ospid: 17509): terminating the instance due to error 16038

Instance terminated by USER, pid = 17509


2> 从alert日志看出归档目录已经满了,需要清理归档目录

SQL> shutdown immediate

SQL> startup  mount

rman target /

crosscheck archivelog all;

delete archivelog until time ‘sysdate -3’;–删除三天前的日志

重新启动Oracle成功,,


ps:不建议客户使用默认归档目录,可以调整为本地目录并配置定期删除脚本

    原文作者:DBA_每日记
    原文地址: http://blog.itpub.net/69950231/viewspace-2660980/
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞