How to resolve the problem of ora 03113 end of file on communication channel?

6.2K    Asked by AmitSinha in SQL Server , Asked on Sep 29, 2022

 I have been reading posts here, on Oracle support, and anywhere else I can find for the last three days and I've given up on this problem... An Oracle database hung. Shutdown of the database sat for a few hours and then it quit. It wouldn't restart. The server was restarted. Oracle was restarted. Going step by step: startup nomount works, alter database mount works, alter database open returns ORA-03113. This is all on localhost - not over the network. The machine has no firewall of any kind running.

Any idea how to get past this ORA-03113 error? I've been on the phone with support in India for the last 4.5 hours and I haven't found anyone helpful yet.

Answered by Amit raj

To resolve the problem of ora 03113 end of file on communication channel - After hours of misdirection from official Oracle support, I dove into this on my own and fixed it. I am documenting it here in case someone else has this problem.

To do any of this, you must be the oracle user:

      $ su - oracle

Step 1: You need to look at the alert log. It isn't in /var/log as expected. You have to run an Oracle log reading program:

$ adrci
ADRCI: Release 11.2.0.1.0 - Production on Wed Sep 11 18:27:56 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
ADR base = "/u01/app/oracle"
adrci>

Notice the ADR base. That is not the install. You need to see the homes so you can connect to the one that you use.

adrci> show homes
ADR Homes:
diag/rdbms/cci/CCI
diag/tnslsnr/cci/listener
diag/tnslsnr/cci/start
diag/tnslsnr/cci/reload
CCI is the home. Set that.
adrci> set home diag/rdbms/cci/CCI
adrci>

Now, you can look at the alert logs. It would be very nice if they were in /var/log so you could easily parse the logs. Just stop wanting and deal with this interface. At least you can tail (and I hope you have a scrollback buffer):

      adrci> show alert -tail 100

Scroll back until you see errors. You want the FIRST error. Any errors after the first error are likely being caused by the first error. In my case, the first error was: ORA-19815: WARNING: db_recovery_file_dest_size of 53687091200 bytes is 100.00% used, and has 0 remaining bytes available. This is caused by transactions. Oracle is not designed to be used. If you push a lot of data into it, it saves transaction logs. Those go into the recovery file area. Once that is full (50GB full in this case). Then, Oracle just dies. By design, if anything is messed up, Oracle will respond by shutting down. There are two solutions, the proper one and the quick and dirty one. The quick and dirty one is to increase db_recovery_file_dest_size. First, exit adrci.

      adrci> exit

Now, go into sqlplus without opening the database, just mounting it (you may be able to do this without mounting the database, but I mount it anyway).

$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 11 18:40:25 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> connect / as sysdba
Connected.
SQL> startup mount
Now, you can increase your current db_recovery_file_dest_size, increased to 75G in my case:
SQL> alter system set db_recovery_file_dest_size = 75G scope=both
Now, you can shutdown and startup again and that previous error should be gone.
The proper fix is to get rid of the recovery files. You do that using RMAN, not SQLPLUS or ADRCI.
$ rman
Recovery Manager: Release 11.2.0.1.0 - Production on Wed Sep 11 18:45:11 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
RMAN> backup archivelog all delete input;

If you've got RMAN-06171: not connected to target database, than try to use rman target / instead of just rman Wait a long time and your archivelog (that was using up all that space) will be gone. So, you can shutdown/startup your database and be back in business.



Your Answer

Answer (1)

The ORA-03113 error, "end of file on communication channel," typically occurs in Oracle database environments and can have various causes. Here are steps to troubleshoot and resolve this issue:


Check Database Connectivity: Ensure that there are no network connectivity issues between your client and the Oracle database server. Verify that the database listener is running and that you can ping the database server from your client machine.

Review Alert Log: Check the Oracle alert log for any errors or warnings that might provide insight into the cause of the ORA-03113 error. The alert log is typically located in the directory specified by the BACKGROUND_DUMP_DEST parameter in the database initialization file.

Check Client Configuration: Review the configuration settings on your client application or Oracle client software. Ensure that the connection parameters, such as the hostname, port, and service name, are correct and match the database server configuration.

Review Server-Side Trace Files: Enable and review server-side trace files to gather more information about the error. You can enable tracing by setting appropriate initialization parameters such as SQL_TRACE, TRACE_LEVEL, and TRACE_FILE_IDENTIFIER. Trace files can provide detailed information about the database processes and their interactions.

Review Firewall and Network Settings: If your client and database server are separated by a firewall or network devices, check if there are any restrictions or configurations that might be causing communication issues. Ensure that the necessary ports are open and that network traffic is allowed between the client and server.

Restart Database and Listener: In some cases, restarting the Oracle database and listener services can resolve temporary communication issues. However, be cautious and ensure that appropriate downtime procedures are followed if you decide to restart production systems.

Check Database Health: Perform a health check on the Oracle database to identify any underlying issues that might be contributing to the ORA-03113 error. This includes checking for resource constraints, such as insufficient memory or disk space, and monitoring database performance metrics.

Contact Oracle Support: If you're unable to resolve the issue with the above steps, consider contacting Oracle Support for further assistance. Provide them with any relevant error messages, trace files, and details about your environment to expedite the troubleshooting process.

By following these steps and thoroughly investigating the potential causes of the ORA-03113 error, you can effectively resolve the issue and restore normal database operations.

6 Months

Interviews

Parent Categories