Oracle DB 查看预警日志
“Database(数据库)”主页>“Related Links相关链接)”区域> “Alert Log Content (预警日志内容)”
每个数据库都有一个alert_<sid >.log文件。此文件位于数据库所在的服务器中,如果设置了$ORACLE_BASE,则此文件默认存储在$ORACLE_BASE/diag/rdbms/<db_name>/<SID>/trace中。
数据库预警文件是按时间顺序列出消息的日志文件,例如:
? 启动时使用的任何非默认初始化参数
? 已发生的所有内部错误( ORA-600) 、块损坏错误( ORA-1578 ) 和死锁错误( ORA-60 )
? 管理操作,如SQL 语句CREATE 、ALTER、DROP DATABASE 和TABLESPACE,以及Enterprise Manager 或SQL*Plus 语句STARTUP、SHUTDOWN 、ARCHIVE LOG和RECOVER
? 与共享服务器和分派程序进程的功能相关的多个消息和错误
? 自动刷新实体化视图时发生的错误
Oracle DB 使用预警日志来保留这些事件的记录,以此作为在操作员控制台上显示这些信息的替代方法。(许多系统会同时在控制台中显示这些信息。)如果某个管理操作成功完成,系统会将“completed(已完成)”消息和一个时间戳写入预警日志中。
Enterprise Manager 可监视预警日志文件,并向你通知严重的错误。你还可以查看日志,以检查不严重的错误和参考性消息。由于预警文件会增长到无法管理的大小,因此可以定期备份该文件,并删除当前的预警文件。当数据库尝试再次写入预警文件时,会重新创建一个新预警文件。
注:$ORACLE_BASE/diag/rdbms/<db_name>/<SID>/alert 目录中有一个XML 版本的预警日志。
要通过SQL*Plus 确定预警日志的位置,请执行以下操作:
? 使用SQL*Plus(或其它查询工具,如 SQL Developer)连接到数据库。
? 查询V$DIAG_INFO 视图。
要查看不带XML 标记的纯文本预警日志,请执行以下操作:
? 在V$DIAG_INFO 查询结果中,记下对应于Diag Trace 条目的路径。将目录更改至该路径。
? 使用文本编辑器打开alert_SID.log 文件。
要查看XML 格式的预警日志,请执行以下操作:
? 在V$DIAG_INFO 查询结果中,记下对应于Diag Alert 条目的路径。将目录更改至该路径。
? 使用文本编辑器打开log.xml文件。
sys@TEST0924> select * from v$diag_info;
INST_ID NAME VALUE
---------- ------------------------- -------------------------------------------------------
1 Diag Enabled TRUE
1 ADR Base /u01/app/oracle
1 ADR Home /u01/app/oracle/diag/rdbms/test0924/test0924
1 Di