Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Checking if remote database is up

RE: Checking if remote database is up

From: Mercadante, Thomas F (LABOR) <>
Date: Tue, 26 Apr 2005 07:41:23 -0400
Message-ID: <C9995D8C5E0DDA4A8FF9D68EE666CE0704AC04B1@exchsen0a1ma>


We have a similar situation. What we do is this:

Create a "ocella_available" table in your local database that indicates whether the remote database is available. Run a cron job every minute that does the simple query you are talking about. Depending on the response, update the ocella_available table. In your application, check the ocella_available table to see if it is ok to try and retrieve a record from the remote database.

This works for us. The cron job will also send us email if the remote database becomes unavailable so that we at least know about it.

Good Luck!


-----Original Message-----

From: stephen booth [] Sent: Tuesday, April 26, 2005 6:53 AM
To: Oracle-L (E-mail)
Subject: Checking if remote database is up

One of our new systems (Documentum from EMC) uses a database link to a remote database (Ocella from Ocella) for some processes. Due to organisation politics the people managing the Ocella database don't tell the people managing Documentum when they're taking their system down (the joys of working in the public sector). Documentum can do most of it's functions when Ocella is down, it just can't do certain transactions, unfortunately it's currently not very good at dealing with situations where the Ocella database is down.

We're looking at some way of checking if the Ocella database is up before trying a transaction that needs it then reporting back to the user if it's down. What we're currently thinking of is putting an empty table in the Ocella database then querying that from a PL/SQL function over the link and trapping the error. If we get data or 'No Rows Returned' then we know that the database is up and the link is working. If we get an ORA-03113 then we know that the database is down or the link isn't working for some other reason (e.g. Network broken again). the function returns either TRUE or FALSE depending on whether the remote dtabase is up or not.

Does anyone have experience of a similar situation? Is there a more elegant/reliable method? Anything I've failed to consider that will make this all blow up?




It's better to ask a silly question than to make a silly assumption.
-- Received on Tue Apr 26 2005 - 07:45:38 CDT

Original text of this message