Puede tener un procedimiento que escriba mensajes en una tabla usando una transacción autónoma algo como:
procedure log (p_message)
is
pragma autonomous_transaction;
begin
insert into message_log (user, datetime, message)
values (user, sysdate, p_message);
commit;
end;
Luego monitoree la tabla desde otra sesión de Oracle.