1. 程式人生 > >open數據庫報錯ERROR at line 1: ORA-03113: end-of-file on communication channel Process ID: 3880 Session ID: 125 Serial number: 3

open數據庫報錯ERROR at line 1: ORA-03113: end-of-file on communication channel Process ID: 3880 Session ID: 125 Serial number: 3

conn ret enc ora- 日誌記錄 line comm per and

1.今天打開數據時,失敗,報錯

ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 3880
Session ID: 125 Serial number: 3

2.想看下數據庫的狀態,發現提示:not connected to ORACLE
SYS@EMREP> select status,instance_name from v$instance;
ERROR:
ORA-03114: not connected to ORACLE

3.排查錯誤,使用Oracle三部啟動法:

startup nomount;(如果起來,說明參數文件沒問題)

alter database mount;(如果起來,說明控制文件沒問題)

alter database open;(報錯了,需要查看具體的報錯,通過aler日誌查看)

> show parameter background_dump (查看alert日誌所在位置)

技術分享圖片

4.進入alert日誌,查看詳細報錯

cd /u01/app/oracle/diag/rdbms/emrep/EMREP/trace (到alert日誌所在的目錄下)

tail -100f alert_EMREP.log (查看詳細報錯日誌,如下:)

Errors in file /u01/app/oracle/diag/rdbms/emrep/EMREP/trace/EMREP_ora_3823.trc:


ORA-19815: WARNING: db_recovery_file_dest_size of 2147483648 bytes is 100.00% used, and has 0 remaining bytes available.
************************************************************************
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.
************************************************************************
ARCH: Error 19809 Creating archive log file to ‘/u01/app/oracle/EMREP/archivelog/2018_11_24/o1_mf_1_21_%u_.arc‘
ARC2: Error 19809 Creating archive log file to ‘/u01/app/oracle/EMREP/archivelog/2018_11_24/o1_mf_1_22_%u_.arc‘
Errors in file /u01/app/oracle/diag/rdbms/emrep/EMREP/trace/EMREP_ora_3823.trc:
ORA-16038: log 3 sequence# 21 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: ‘/u01/app/oracle/oradata/EMREP/redo03.log‘
ORA-00312: online log 3 thread 1: ‘/u01/app/oracle/oradata/EMREP/redo06.log‘
ARCH: Archival stopped, error occurred. Will continue retrying
ORACLE Instance EMREP - Archival Error
ORA-16038: log 1 sequence# 22 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 1 thread 1: ‘/u01/app/oracle/oradata/EMREP/redo01.log‘
ORA-00312: online log 1 thread 1: ‘/u01/app/oracle/oradata/EMREP/redo04.log‘
USER (ospid: 3823): terminating the instance due to error 16038
System state dump requested by (instance=1, osid=3823), summary=[abnormal instance termination].
System State dumped to trace file /u01/app/oracle/diag/rdbms/emrep/EMREP/trace/EMREP_diag_3791_20181124081720.trc
Dumping diagnostic data in directory=[cdmp_20181124081720], requested by (instance=1, osid=3823), summary=[abnormal instance termination].

根據日誌,可以看出,是因為歸檔空間滿了,而且給出了解決辦法:

1) Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
then consider changing RMAN ARCHIVELOG DELETION POLICY. (將備份策略改為基於冗余數量的備份策略)

如:RMAN> configure retention policy to redundancy 5;

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.(增加db_recovery_file_dest_size的大小)

SQL> alter system set db_recovery_file_dest_size=2000M;

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. 手動刪除不需要的歸檔日誌文件 (刪除 3 天以前的日誌記錄)

rman> delete archivelog all completed before ‘sysdate - 3‘

以上任意一種方法都可以,執行完畢,直接:alter database open 即可。

open數據庫報錯ERROR at line 1: ORA-03113: end-of-file on communication channel Process ID: 3880 Session ID: 125 Serial number: 3