I prefer to do the check outside the db from a ksh script. It's not going to help when the db doing the check is down :).
>>> "Mercadante, Thomas F (LABOR)" <thomas.mercadante@(protected) >>>
This is an even easier approach if all his queries go through stored procs
as you mentioned.
From: Niall Litchfield [mailto:niall.litchfield@(protected)]
Sent: Tuesday, April 26, 2005 9:18 AM
Cc: Oracle-L (E-mail)
Subject: Re: Checking if remote database is up
Would a quick hack to code the procedure as a version of=20
select 1 into l_alive from dual@(protected);
if l_alive = 1 then
when others then
This might avoid ocella upgrades breaking your check, or dealing with
the politics :).
Alternatively you might wish to add error handling for what ever
errors you get when the ocella db is down and add that to your
functions and procedures...
On 4/26/05, stephen booth <stephenbooth.uk@(protected):
> 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.