Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Varshini_123
Partner - Contributor II
Partner - Contributor II

End-of-file on communication channel

We are frequently encountering the "ORA-03113: end-of-file on communication channel" error.
To address this issue, we requested our DBA to add the following line to the SQLNET.ORA file:

"SQLNET.INBOUND_CONNECT_TIMEOUT = 0
And adding the enable=broken parameter to the tnsnames.ora." 

However, the DBA informed us:

  1.  Setting the INBOUND_CONNECT_TIMEOUT parameter to 0 poses significant security risks, particularly increasing vulnerability to denial-of-service attacks.

  2.  The 'enable=broken' option in our tnsnames.ora configuration file is deprecated in our current environment. 


Additionally, whenever we encounter this error, the Oracle (source) connection re-establishes itself and shifts to the next log sequence. We are uncertain whether the live data from the previous log sequence is being replicated correctly.
Given these concerns, we are seeking your expertise and guidance to provide an alternative solution to mitigate the ORA-03113 error and ensure data consistency.

5 Replies
SushilKumar
Support
Support

Hello @Varshini_123 

ORA-03113: end-of-file on communication channel is from DB end when they disconnect the session from DB end.

However, Setting mentioned parameter helps customer to overcome the issue 

"SQLNET.INBOUND_CONNECT_TIMEOUT = 0
And adding the enable=broken parameter to the tnsnames.ora."

Whenever any reconnect happen Qlik look for the info in the last saved state and until its updated with another value.

Request you to generate trace of Qlik session and Submit to oracle and hope they will Suggest the same parameter to retain the connection longer at Source db Side.

Regards,

Sushil Kumar

Dana_Baldwin
Support
Support

@Varshini_123 

Here is Oracle's documentation on this error message:

Cause

The connection between the Client and Server process was broken. The cause may be that the database instance experienced a maintenance or unplanned outage, or that the Server process had a fatal error, or that the network connection was interrupted.


Action

Check the alert log of the database instance to see if a planned or unplanned outage occurred. Check the alert log to see if a process termination (ORA-07445, kill, or ORA-00600) occurred. Check for network problems and review the SQL*Net setup. After the problem is identified and resolved, retry the operation.

Copied from:

ORA-03113 - Database Error Messages (oracle.com)

Varshini_123
Partner - Contributor II
Partner - Contributor II
Author

Thankyou for the responses.

We had a discussion with our DBA regarding the addition of the parameters. They declined due to some security concerns.

However, we are still encountering the same issue even when reloading the tables for Full Load. This error causing the tables to reload from the beginning.

Could you please suggest any potential workarounds?

john_wang
Support
Support

Hello @Varshini_123 ,

ORA-03113 is a very famous error code in Oracle world, many diffiferent factors may lead the same error in Oracle client side apps, for example in Qlik Replicate. In general it means the connection between the Client and Server process was broken. It's hard to tell the root cause from Qlik Replicate task log files only. 

Please check the Oracle server side to get more clue:

1. Check the Listener status or health: lsnrctl status

2. Check the alert log

  sqlplus / as sysdba

  select value from v$diag_info

    Then check the alert log to get helpful clue.

Hope this helps.

John.

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!
Dana_Baldwin
Support
Support

Hi @Varshini_123 

Unfortunately, Qlik Replicate is the victim of this loss of connection between the Oracle client and the Oracle server. It can be caused by a number of things, such as the server side process servicing the client dying unexpectedly (this can be due to an Oracle bug, but not necessarily).

If your Oracle DBA does not want to accept our suggested parameters to try and alleviate the issue, perhaps it would be best for them to work with Oracle Support, as there might be a patch needed or some other help analyzing the alert.log or steps to collect sqlnet tracing required. They may be more receptive to help from Oracle. In any event your DBA should provide some type of assistance as it is in the communication layer between the Oracle client and server, and the process on the server side servicing the client connection. You may also need to involve your network support team in this effort.

I apologize but I am not sure what else to suggest.

Regards,

Dana