0

I'm trying to integrate Azure and OCI using this approach and this article.

Now, I have the infrastructure up and running. It consists of a VM in Azure, an Autonomous Database (ATP) Oracle Cloud Infrastructure (OCI), and a Java application on the VM. The application successfully connected to the database.

However, after some period of time application fails with:

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

Process ID: 86437

Session ID: 57114 Serial number: 29955

How can I identify where is the problem (Azure, OCI, etc.) in order to have an idea of how to fix it?

  • ORA-03113 is a catch all error for a broken database connection between your app and OCI. Were there any other error messages appearing with it? were you able to re-establish the connection after it was broken? – pmdba Sep 28 '20 at 3:20
  • @pmdba, I cannot see OCI logs. So, the error is from the app's logs. One more thing I noticed. It happens after hours of one of the long-term app's process. After restarting the app or trying any other app's operations, they work just fine. – Alex Karasev Sep 28 '20 at 9:11
  • which service name (i.e. low, medium, high, tp, or tpurgent) are you using for this connection? Is there anything else running in the application that could be competing with the long term process for DB resources? – pmdba Sep 28 '20 at 10:39
  • @pmdba, I tried to use either high or tp with the same outcome. There are no competitors' processes. – Alex Karasev Sep 28 '20 at 12:46
  • 1
    My best guess at the moment would be that there is something in the network that thinks your connection has been idle too long - that doesn't realize you're waiting for results - and is cutting you off. – pmdba Sep 28 '20 at 19:24
0

Adjusting the tnsnames.ora file by adding the ENABLE=broken paramter solved the problem.

For example, my configuration was like that:

net_service_name=
 (DESCRIPTION=
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521)))
  (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))

and now it looks like this:

net_service_name=
 (DESCRIPTION= 
  (ENABLE=broken)
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521)))
  (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))

See more information about the ENABLE parameter in the official Oracle docs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.