I always do a 'select * from dual@remotesite' to verify if the db_link is still OK.

Maybe you can put this command in a PL/SQL block, and use exceptions to verify if the db_link is OK.


eg.
declare
---dumvar dual.X%TYPE;
begin
---select X
-----into dumvar
---from dual@remotesite ;
---continue with work
exceptions
---when others then do error handling;
end;

Hope his helps
Gert