1 相关参数
SQL> select name,value from v$parameter where name like '%dump_dest%';
NAME VALUE
-------------------- --------------------------------------------------
background_dump_dest /u01/app/oracle/diag/rdbms/racdb/racdb1/trace
user_dump_dest /u01/app/oracle/diag/rdbms/racdb/racdb1/trace
core_dump_dest /u01/app/oracle/diag/rdbms/racdb/racdb1/cdump
2 告警日志
2.1 告警日志的位置及内容
告警日志文件的名称通常为alert_<sid>.log
,用来记录Oracle系统的运行信息和错误信息。
运行信息一般包括Oracle实例的启动与关闭、建立表空间、增加数据文件等;
错误信息包括空间扩展失败、启动实例失败等。
-
告警日志目录记录在参数
background_dump_dest
中 -
告警日志内容:
告警日志非常关键与重要,那么告警日志里面包含了那些内容信息呢?告警日志包含了下面一些内容的信息。像一些ORA错误,对于监控数据库有极其重要的作用。
1.所有的内部错误(ORA-600)信息,块损坏错误(ORA-1578)信息,以及死锁错误(ORA-60)信息等。
2.管理操作,例如CREATE、ALTER、DROP语句等,以及数据库启动、关闭以及日志归档的一些信息。
1)涉及物理结构的所有操作:例如创建、删除、重命名数据文件与联机重做日志文件的ALTER DATABASE命令,此外还涉及重新分配数据文件大小以及将数据文件联机与脱机的操作。
2) 表空间操作,例如DROP与CREATE命令,此外还包括为了进行用户管理的备份而将表空间置入和取出热备份模式的操作
3.与共享服务器或调度进程相关功能的消息和错误信息。
4.物化视图的自动刷新过程中出现的错误。
5.动态参数的修改信息。
随着时间的推移,告警日志文件会越来越大,因此需要定期清理告警日志
2.2 定期清理告警日志
- 添加定期清理告警日志的shell作业
[oracle@rac1 ~]$ crontab -l
0 0 * * * sh /u01/app/oracle/diag/rdbms/racdb/racdb1/tracebak/mvlog.sh
- 添加定时清理告警日志的脚本
[oracle@rac1 ~]$ cat /u01/app/oracle/diag/rdbms/racdb/racdb1/tracebak/mvlog.sh
#!/bin/bash
#get date
datestring=$(date +%Y%m%d --date="-1 day")
#mv alert log to new station
path=/u01/app/oracle/diag/rdbms/racdb/racdb1/
cp ${path}trace/alert_racdb1.log ${path}tracebak/alert_racdb1_${datestring}.log
# clear the old alert log
echo > ${path}trace/alert_racdb1.log
3 跟踪文件
跟踪文件包括后台进程跟踪文件和用户进程跟踪文件。
1.后台进程跟踪文件用于记录后台进程的警告或错误信息。磁盘位置由初始化参数background_dump_dest
确定,后台进程跟踪文件的命名格式为<sid>_<processname>_<spid>.trc
,如
2.用户进程跟踪文件用于记载与用户进程相关的信息,主要用于跟踪SQL语句。通过用户进程跟踪文件,可以判断SQL语句的执行性能。用户进程跟踪文件的位置由初始化参数user_dump_dest
确定,用户进程跟踪文件的命名格式为<sid>_ora_<spid>.trc
,如:
4 core_dump_dest
这个参数是指定核心转储位置的目录名 (主要用于 UNIX)。
主要记录核心dump的目录,如果oracle核心进程因为BUG等原因崩溃,会做内存的dump,dump文件保存在该目录下
Oracle官方文档对core_dump_dest的解释