Oracle启动报错:ORA-03113: end-of-file on communication channel
问题背景:客户启动测试环境数据库报错
1 SQL> startup 2 ORACLE instance started. 3 Total System Global Area 1068937216 bytes 4 Fixed Size 2220200 bytes 5 Variable Size 885002072 bytes 6 Database Buffers 176160768 bytes 7 Redo Buffers 5554176 bytes 8 Database mounted. 9 ORA-03113: end-of-file on communication channel 10 Process ID: 17509 11 Session ID: 416 Serial number: 3
1> 查看alert日志
1 ARC3 started with pid=23, OS id=17541 2 ARC2: Archival started 3 ARC1: Becoming the ‘no FAL‘ ARCH 4 ARC1: Becoming the ‘no SRL‘ ARCH 5 ARC2: Becoming the heartbeat ARCH 6 Errors in file /u01/app/oracle/diag/rdbms/ecology/ecology/trace/ecology_ora_17509.trc: 7 ORA-19815: WARNING: db_recovery_file_dest_size of 53687091200 bytes is 99.99% used, and has 3795456 remaining bytes available. ---归档目录以及100% 8 ************************************************************************ 9 You have following choices to free up space from recovery area: 10 1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard, 11 then consider changing RMAN ARCHIVELOG DELETION POLICY. 12 2. Back up files to tertiary device such as tape using RMAN 13 BACKUP RECOVERY AREA command. 14 3. Add disk space and increase db_recovery_file_dest_size parameter to 15 reflect the new space. 16 4. Delete unnecessary files using RMAN DELETE command. If an operating 17 system command was used to delete files, then use RMAN CROSSCHECK and 18 DELETE EXPIRED commands. 19 ************************************************************************ 20 Errors in file /u01/app/oracle/diag/rdbms/ecology/ecology/trace/ecology_ora_17509.trc: 21 ORA-19809: limit exceeded for recovery files 22 ORA-19804: cannot reclaim 40733696 bytes disk space from 53687091200 limit 23 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‘ 24 Errors in file /u01/app/oracle/diag/rdbms/ecology/ecology/trace/ecology_ora_17509.trc: 25 ORA-16038: log 1 sequence# 10288 cannot be archived 26 ORA-19809: limit exceeded for recovery files 27 ORA-00312: online log 1 thread 1: ‘/u01/app/oracle/oradata/ecology/redo01.log‘ 28 USER (ospid: 17509): terminating the instance due to error 16038 29 Instance terminated by USER, pid = 17509
2> 从alert日志看出归档目录已经满了,需要清理归档目录
1 SQL> shutdown immediate 2 SQL> startup mount 3 rman target / 4 crosscheck archivelog all; 5 delete archivelog until time ‘sysdate -3‘;--删除三天前的日志 6 重新启动Oracle成功,,
ps:不建议客户使用默认归档目录,可以调整为本地目录并配置定期删除脚本