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

时间:2022-08-26 18:53:15

现象一:

数据库startup时,出现数据库无法正常mount,并报ORA-03113错误。

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

SQL> startup

ORACLE instance started.

Total System Global Area  830930944 bytes

Fixed Size                    2217912 bytes

Variable Size                  599787592 bytes

Database Buffers          222298112 bytes

Redo Buffers                    6627328 bytes

Database mounted.

 

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

Process ID: 6846

Session ID: 125 Serial number: 5

 

分析:

根据进程号(Process ID)查找到LOG文件的:oral-ora-6846.trc,查看到报错信息

ORA-19815: WARNING: db_recovery_file_dest_size of 4039114752 bytes is 100.00% used, and has 0 remaining bytes available.

 

结论:

db_recovery_file_dest_size被全部耗尽,导致数据库宕机及无法启动。

 

 

 

解决方案: 

 

 

一:数据库已关闭时:

     1.修改回闪空间大小

Sql>startup  nomount                                ‘将数据库启到NOMOUNT状态

Sql> alter system set db_recovery_file_dest_size=30G;   ‘将空间改为30G

sql>alter database mount;

SQL>alter database open;

 

  2.修改回闪空间时间

Sql>startup  nomount                                ‘将数据库启到NOMOUNT状态

Sql> alter system set db_flashback_retention_target=20160;‘将回闪时间改为14天

 

数据库startup时,出现数据库无法正常mount,并报ORA-03113错误。

数据库startup 时,报错:ORA-03113: end-of-file on communication channel

 

  3、参考ORA-00313: open failed for members of log group 3 解决

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

我们查看oracle 警告日志alert.log ,错误提示:ORA-00313,日志组 group3 找不到。

解决方案参考:ORA-00313: open failed for members of log group 3

 

二、如果数据库在启动状态的时候:

1、清理过期文件

1.1进入rman命令状态

[oracle@localhost ~]$ rman target/

Recovery Manager: Release 11.2.0.1.0 - Production on Sat Sep 25 14:18:53 2010

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

connected to target database: ONLINE (DBID=2094135012)

 

1.2查看所有LOG文件

RMAN> crosscheck archivelog all;

 

1.3删除所有LOG文件

RMAN> delete archivelog all;

 

 

PS:

其间遇到crosscheck命令无效,主要是进入rman时,返回“connected to target database: (no database start)”。查其原因是,oracle_sid不匹配。使用echo $ORACLE_SID命令查看,使用export命令修改。

 

 

2、扩大db_recovery_file_dest_size空间

2.1查看回闪空间位置、大小及回闪时间

Sql>show parameter db_recovery               '查看回闪位置及回闪区大小

Sql>show parameter flashback                    '查看回闪位置

Sql>select file_type,PERCENT_SPACE_USED,NUMBER_OF_FILES from v$flash_recovery_area_usage;                                                                     ‘查看回闪空间文件类型及占用情况

 

2.2修改回闪空间大小

Sql>startup  nomount                                ‘将数据库启到NOMOUNT状态

Sql> alter system set db_recovery_file_dest_size=8000M;   ‘将空间改为8G

 

 

2.2修改回闪空间时间

Sql>startup  nomount                                ‘将数据库启到NOMOUNT状态

Sql> alter system set db_flashback_retention_target=20160;‘将回闪时间改为14天

 

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

 

http://oracle.so138.com/ora/oracle-cuo-wu-dai-ma-ku-oracle-jia-yuan