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:不建議客戶使用默認歸檔目錄,可以調整為本地目錄並配置定期刪除腳本