诊断文件
诊断文件是获取有关数据库活动的信息的一种方式,用于解决数据库出现的一些问题,主要包含有关数据库中出现的重要事件的一些信息,这些文件能更好的对数据库进行日常的管
理,主要类型有一下几种:
- 警告日志文件:记录数据库日常操作的信息
- 后台跟踪文件:记录SMON、PMON、DBWn和其他后台进程失败时产生的重要信息
- 用户跟踪文件:记录出现严重的用户错误或用户强制执行跟踪文件时产生的重要信息
警报日志文件
每个oracle例程都有一个警报日志文件。如果该文件尚未创建,将在例程启动过程中进行创建,警报日志会随着数据库的继续运行而不断增长,诊断日常操作或错误时,应该首先查
看警报日志文件。警报日志文件还包含指向跟踪文件的指针,从而可获得更详细的信息。
- 警报日志文件记录了以下信息
- 数据库启动或关闭的时间
- 所有非缺省初始化参数的列表
- 后台进程的启动
- 例程使用的线程正在向其中写入信息的日志序列号LGWR
- 有关日志切换的信息
- 表空间的创建和撤销段
- 已发出警报的声明
- 有关ORA-600等错误消息和区错误的信息
警报日志文件中记录的每个条目都带有与之相关联的时间戳,只有DBA有权限对其进行管理,存储位置有background_dump_dest定义,可以使用SHOW PARAMETER
background_dump_dest命令查看警报日志文件所在操作系统中的位置。
Tips:而且警报日志在数据库启动时,会读取参数文件的信息并记录当时启动数据库所使用的参数,所以当参数文件丢失时,可以从警报日志文件中读取上一次所使用的正确参数信
息,来创建一个pfile文件,从而启动数据库。
后台跟踪文件
后台跟踪文件用于记录后台进程(如SMON、PMON、DBWn和其他后台程序)遇到的错误,只有出现需要写入跟踪文件的错误时,才会创建后台跟踪文件。最初创建后台跟踪文件后,文
件内包含数据库服务器和操作系统的标头信息。
命名规则为:sid_processname_PID.trc其存储位置也由background_dump_dest定义,可以使用SHOW PARAMETER background_dump_dest命令查看后台跟踪文件所在操作系统中的位
置。
用户跟踪文件
用户跟踪文件可由用户进程和服务器进程生成,其中主要包含用户执行的SQL语句的统计信息,还包含用户错误信息。在用户遇到会话错误时创建存储位置由user_dump_dest定
义,可以使用SHOW PARAMETER user_dump_dest命令查看用户跟踪文件所在操作系统中的位置。其大小由MAX_DUMP_FILE_SIZE定义,命名规则为:sid_ora_PID.trc
启用或禁用用户跟踪文件的命令
- 会话级别:只会启用用户当前会话的用户跟踪文件
ALERT SESSION SET SQL_TRACE = TURE
- 例程级别:会启动整个例程的用户跟踪文件
SQL_TRACE = TURE
如果是负载比较大的生产型数据库,不建议开启例程级别的用户跟踪文件,因为用户跟踪文件会记录所有用户的操作,这样如果操作比较多会影响到数据库性能,而且当时间长了之
后用户跟踪文件会变的非常大,然后占用很大的磁盘容量。