Oracle 软件在由 Alert_log_file 扩展特性标识的文件中记录警报。服务器故障监视器将扫描此文件并执行响应警报(已为其定义了操作)的操作。
预设了操作的日志警报在表 B–2 中列出。更改对日志警报的响应,以更改预设操作或定义服务器故障监视器响应的新警报。
要更改对日志警报的响应,请在定制操作文件中创建一个条目,其中的关键字设置如下:
将 ERROR_TYPE 设置为 SCAN_LOG。
将 ERROR 设置为被引用的正规表达式,该表达式标识 Oracle 已记录到 Oracle 警报日志文件的错误消息中的一个字符串。
将 ACTION 设置为所需的操作。
服务器故障监视器按条目的发生顺序处理定制操作文件中的条目。仅处理与日志警报相匹配的第一个条目。以后匹配的条目都被忽略。如果您要使用正规表达式为若干个日志警报指定操作,请确保在多个常规条目之前存在多个特定条目。在常规条目之后发生的特定条目可能被忽略。
例如,定制操作文件可能为由正规表达式 ORA-65 和 ORA-6 标识的错误定义不同的操作。要确保包含正规表达式 ORA-65 的条目不被忽略,请确保在包含正规表达式 ORA-6 的条目之前发生此条目。
下例显示了定制操作文件中的一个条目,用于更改对日志警报的响应。
{ ERROR_TYPE=SCAN_LOG; ERROR="ORA-00600: internal error"; ACTION=RESTART; }
此例显示了定制操作文件中的一个条目,用于覆盖有关内部错误的日志警报的预设操作。此条目指定以下行为:
作为对包含文本 ORA-00600: internal error 的日志警报的响应,服务器故障监视器执行的操作为重新启动。
在检测到错误时应用此条目,无论数据库和服务器故障监视器之间的连接状态如何。
检测到错误之后,数据库和服务器故障监视器之间的连接状态必须保持不变。
检测到此错误时,资源的日志文件中不显示附加消息。