0

I have web application which connects to a view that has data populated from a remote database via a DB link in oracle. This remote database goes down once a week as a part of scheduled maintenance. This data is used to get the user details on logging into the web app. The issue is whenever this DB goes down and comes back up, users get the following error:

SQL state [63000]; error code [3150]; ORA-03150: end-of-file on communication channel for database link ORA-02063: preceding line from *db link name*

even after several hours of the db being brought up, the issues persists until we login to the app and manually refresh the browser at least 6 times(why it requires 6 times is also a mystery). Any idea what is causing this? i checked the alert.log and it has no additional details. How can we solve this without manual interventions?

seenukarthi
  • 8,241
  • 10
  • 47
  • 68
leelaa
  • 1
  • 1

1 Answers1

0

The DB link tries to hold an open connection as long as possible. Once the remote DB goes down, it invalidates the connection. Next operation on the DB link will cause such an error, stating unsurprisingly that the communication channel has closed.

As suggested in the answer to this question, you can tell the system to close the DB link once the remote DB scheduled maintenance window begins. Thus, the next time someone tries to use the DB link, it will initiate a new connection.

Jonathan Jacobson
  • 1,441
  • 11
  • 20