Ao eu tentar rodar o select sysdate from xdual;
Que vai chamar a trigger , pois trata de um erro .
Da a seguinte mensagem

ERROR at line 1:
ORA-04088: error during execution of trigger 'SYS.LOG_ERRO'
ORA-01403: no data found
ORA-06512: at line 11
ORA-00942: table or view does not exist

create or replace trigger log_erro
after servererror on database
declare
   var_bd_usuario      varchar2(30);
   var_os_usuario      varchar2(30);
   var_maquina         varchar2(64);
   var_processo        varchar2(8);
   var_programa        varchar2(48);
   var_sql1            varchar2(1000);
 begin
select
      s.username,
      s.osuser,
      s.machine,
      s.process,
      s.program,
      q.sql_text
   into
      var_bd_usuario,
      var_os_usuario,
      var_maquina,
      var_processo,
      var_programa,
      var_sql1
   from
      v$session s , v$sql q, v$sql_cursor c
   where
   s.audsid=userenv('sessionid')
   AND s.prev_sql_addr = q.address
   AND q.address = c.parent_handle;
   insert into
     perfstat.log_erro
   values(
      dbms_standard.server_error(1),
      sysdate,
      var_bd_usuario,
      var_os_usuario,
      var_maquina,
      var_processo,
      var_programa,
      var_sql1);
end;
/


[As partes desta mensagem que não continham texto foram removidas]

Responder a