You can derive your own version of TOracleQuery where you overrides the Execute method where you check and try to reconnect.
You onl yhave to replace all TOracleQuery instances in your project by your own Query object.
[quote]
PROCEDURE TMyOraQuery.Execute;
BEGIN
// check and try to reconnect
IF Session.CheckConnection(TRUE)=ccError
// not connected
THEN EXIT; (or raise exception, ...)
INHRITED Execute;
END;
[/quote]
Oliver