Google it ....

Tuesday, September 3, 2013

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

Hello,
While trying to open database encounter that error : ORA-03113: end-of-file on communication channel
[oracle@oel6 admin]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Productionon Tue Sep 3 14:31:43 2013
Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup;
ORACLE instance started.

Total System Global Area  835104768 bytes
Fixed Size      2232960 bytes
Variable Size    637537664 bytes
Database Buffers   188743680 bytes
Redo Buffers      6590464 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 13889
Session ID: 10 Serial number: 3
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options

Now see alert.log file
[oracle@oel6 admin]$ cd /u0/app/oracle/diag/rdbms/orcl/orcl/trace/
tail -100 alert_orcl.log

shows last 100 row in alert log file, which tells that
ORA-19815: WARNING: db_recovery_file_dest_size of 5368709120 bytes is 100.00% used, and has 0 remaining bytes available.
We have following choices
1) Add disk space and increase db_recovery_file_dest_size parameter
2) 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.
now we show second method, delete archivelogs with operating system command.
[oracle@oel6 trace]$ . oraenv
ORACLE_SID = [+ASM] ? 
The Oracle base remains unchanged with value /u0/app/oracle
[oracle@oel6 trace]$ asmcmd
ASMCMD> cd Disks/orcl/archivelog
ASMCMD> ls
2013_06_30/
2013_07_01/
2013_07_02/
2013_07_03/
2013_07_04/
2013_07_05/
2013_07_06/
2013_07_07/
2013_07_08/
2013_07_09/
2013_07_10/
2013_07_11/
2013_07_12/
2013_09_03/
ASMCMD> rm -rf 2013_06_30/
ASMCMD> rm -rf 2013_07_01/ 
ASMCMD> rm -rf 2013_07_02/ 2013_07_03/
ASMCMD> rm -rf 2013_07_04/ ....

after that we can startup database
[oracle@oel6 trace]$ . oraenv
ORACLE_SID = [+ASM] ? orcl
The Oracle base remains unchanged with value /u0/app/oracle
[oracle@oel6 trace]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Sep 3 15:28:41 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup;
ORACLE instance started.

Total System Global Area  835104768 bytes
Fixed Size      2232960 bytes
Variable Size    637537664 bytes
Database Buffers   188743680 bytes
Redo Buffers      6590464 bytes
Database mounted.
Database opened.
SQL> 

And then use crosschek and delete expired commands.
SQL> !rman target /

Recovery Manager: Release 11.2.0.3.0 - Production on Tue Sep 3 15:32:32 2013

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

connected to target database: ORCL (DBID=1332821480)

RMAN> crosscheck archivelog all;
................................
................................
RMAN> delete expired archivelog all;

that's all.
thank you.

2 comments:

  1. how to do this in windows machines.

    ReplyDelete
  2. in windows procedure is same, but there is some different commands for example there is no tail because it is unix command, if you tell me exactly what you want to do and you can't do it, than i can help you

    ReplyDelete