您的位置:首页 > 数据库 > Oracle

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

2017-03-05 10:19 537 查看
>startup

Total System Global Area 3340451840 bytes

Fixed Size                  2217952 bytes

Variable Size            2499807264 bytes

Database Buffers          822083584 bytes

Redo Buffers               16343040 bytes

Database mounted.
ORA-03113: end-of-file on communication channel

Process ID: 3917

Session ID: 96 Serial number: 3


 

解决思路(ORACLE11G):

查看orcle启动日志,确定具体是什么原因引起的错误。

1、确定日志位置

操作日志:$ORACLE_HOME/startup.log

启动日志:$ORACLE_BASE/diag/rdbms/ora11g/ora11g/trace/alert_ora11g.log (ora11g为SID值)

启动日志如果查找不到,请到trace目录下执行 ls -alcr | grep alert (c时间排序、r倒序)

 

2、打开日志

tail -f -n 500 alert_ora11g.log  ,查看错误,截取片段如下

=========================================================================

Errors in file /data00/Oracle/app/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_m000_9340.trc:

ORA-19815: WARNING: db_recovery_file_dest_size of 8589934592 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.

Tue May 03 11:29:14 2011

ALTER SYSTEM SET db_recovery_file_dest_size='8G' SCOPE=BOTH;

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.

************************************************************************
==============================================================================

 

原因找到啦,归档日志满了。

 

4、解决办法有三个:

1.将归档设置到其他目录,修改alter system set log_archive_dest = 其他路径

2.转移或者删除闪回恢复区里的归档日志。

3.增大闪回恢复区。alter system set db_recovery_file_dest_size=8G;

 

5、用其他方式启动数据库

#sqlplus /nolog

 >conn / as sysdba;

 >shutdown immediate;

 >startup mount;(startup nomount只是启动了实例而没有启动数据库,startup mount启动了实例,并加载了数据库,但是数据库没有打开,startup是最全的,实例,数据库加载,数据库打开都完成。)

 

startup mount我这里可以成功启动。

 >show parameter db_recovery_file_dest_size //显示当前回复区大小

 

6、具体步骤。举一个例子,删除过期日志。

$RMAN

>connect target /

>crosscheck archvelog all;

>delete expired archivelog all;

>exit
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息