诊断文件是一种获得数据库信息的重要工具,对管理oracle数据库实例是至关重要的,包含了数据库运行过程中遇到的重大事件的相关信息。帮助在日常工作中更好的管理数据库。在oracle中有三类常见的诊断文件:报警文件alterSID.log、后台进程追踪文件、用户进程追踪文件。报警文件包括了数据库日常操作的相关信息。存放在由BACKGROUND_DUMP_DEST参数所定义的目录下,该文件必须由数据库管理员管理。
在报警文件中记录了一些命令和重要事件的结果,这些命令包括如下信息:
1、数据库启动和关闭的时间
2、所有非默认初始化参数
3、LGWR正在写的日志序列号
4、日志的切换信息
5、所有执行的alter语句
6、创建的表空间和还原段等
其中每一个记录项目都有与之相关的时间戳。
利用parameter数据字典可以查看所有的parameter对象的属性信息
col name for a30;
col value for a50;
set line 100;
select name,value from v$parameter where name like '%_dest';
从对应的value值中找到BACKGROUND_DUMP_DEST参数的值即为报警文件存放的文件目录。
二、后台进程追踪文件
记录了任何后台进程所遇到的错误,这些文件在后台进程遇到错误时才产生。他们可以用来诊断和排错,与报警文件存放在同一个目录中
三、用户进程追踪文件
该类文件是由用户进程所创建的,也可以由服务器进程产生。包含了用来追踪用户sql语句的统计信息,也包含了用户的错误信息。这些文件是当用户进程遇到用户会话错误时创建的。被存放在由USER_DUMP_DEST参数指定的目录下
如果想让oracle服务器产生用户进程追踪文件需要修改一个oracle的参数 SQL_TRACE.该参数是一个动态参数既可以在会话一级修改又可以在实例一级修改。
会话级开启 : alter session set sql_trace=true;
会话级终止: alter session set sql_trace=false;
在实例一级开启用户进程追踪可以通在初始化参数文件中修改如下参数来完成:
sql_trace=true;
注:尽量避免在实例一级开启用户进程追踪,这会对数据库的运行效率产生很大的冲击。另外即使在会话一级开启用户进程追踪,等追踪结束后也应该尽快关闭追踪。
1、oracle中所有的dba系统参数都可以通过数据字典parameter查看
select name ,value from v$parameter where name like '%name%';查看指定参数名的值。