Vous pouvez avoir une procédure qui écrit des messages dans une table à l'aide d'une transaction autonome comme :
procedure log (p_message)
is
pragma autonomous_transaction;
begin
insert into message_log (user, datetime, message)
values (user, sysdate, p_message);
commit;
end;
Surveillez ensuite la table à partir d'une autre session Oracle.