2011-10-07 117 views
1

如何创建一个称为AuditErr的数据库事件触发器,每发生一次服务器错误时都会触发此事件。 错误是指任何Oracle错误。通过填充名为server_error_log(使用给定的SQL脚本)的错误日志表,该触发器可以作为管理员的通知机制。 您应该事先创建错误滞后表,当发生错误时,必须将错误代码和 详细信息写回此表。Oracle 11g创建自定义事件触发器

CREATE TABLE server_error_log ( ERROR_CODE十进制(6), 描述VARCHAR2(256) );

+2

看起来像可爱的功课:) –

+0

是的,它是我的任务;)大声笑感谢很多 – peedee

回答

1

你必须创建一个database event trigger

CREATE TRIGGER log_errors AFTER SERVERERROR ON DATABASE 
    BEGIN 
     // log error 
    END; 

在此触发,你可以使用属性功能ora_server_errorora_server_error_msg检索错误堆栈。

+0

他们说每次发生服务器错误时,它们是什么意思?但默认情况下oracle不记录所有的错误仪式?大众解释 – peedee