【问题标题】:Oracle 11g Creating a custom event triggerOracle 11g 创建自定义事件触发器
【发布时间】:2026-02-07 21:15:02
【问题描述】:

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

创建表 server_error_log ( error_code 十进制(6), 说明 varchar2(256) );

【问题讨论】:

  • 看起来很像家庭作业 :)
  • 是的,这是我的任务;)哈哈,非常感谢

标签: oracle triggers server-error


【解决方案1】:

你必须创建一个database event trigger

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

在此触发器中,您可以使用属性函数ora_server_errorora_server_error_msg 来检索错误堆栈。

【讨论】:

  • 每次发生服务器错误时说什么是什么意思?但默认情况下,oracle 不会记录所有错误仪式?请解释