日期:2014-05-16  浏览次数:20535 次

Oracle跟踪文件

Oracle跟踪文件

Oracle跟踪文件分两种:一种为后台进程跟踪文件,一种为用户跟踪文件

后台进程跟踪文件
如果某个后台进程检测到一个错误,它会将这条信息转储到一个跟踪文件中。
? Oracle 服务器将任何后台进程检测到的有关错误消息转储到跟踪文件中
? Oracle 支持使用这些跟踪文件来诊断和调试问题

后台进程跟踪文件的位置
后台进程跟踪文件的位置由参数background_dump_dest决定。
unix和Linux上一般在$ORACLE_HOME/admin/sid/bdump下,文件名为SID_processname_PID.trc

用户跟踪文件
服务器进程也可以按用户的请求生成跟踪文件,用来显示语句处理期间的资源消耗。
? 通过以下方法在会话级或例程级启用或禁用服务器进程
跟踪:
– ALTER SESSION 命令
– The SET_SQL_TRACE_IN_SESSION 过程
– 初始化参数 SQL_TRACE
- 一些相关事件
? 用户跟踪文件包含该会话中被跟踪的 SQL 语句的统计信息
? 用户跟踪文件对于 SQL 优化很有用
? Oracle 数据库按每个服务器进程创建用户跟踪文件

--参考链接 http://www.eygle.com/archives/2004/10/use_sql_trace_to_diagnose_database.html

/*
用户跟踪文件
用户或 DBA 也可以请求服务器进程生成用户跟踪文件
例程级跟踪
可以使用初始化参数 SQL_TRACE 启用或禁用跟踪此参数设置的缺省值为FALSE 禁用会话级跟踪
以下语句为特定的会话启用跟踪
SQL> EXECUTE dbms_system.set_sql_trace_in_session(8,12,TRUE);
其中 8 和 12 是所连接用户的 SID 和 SERIAL#
下面的语句启用对所连接的用户的会话的跟踪
SQL>ALTER SESSION SET sql_trace=TRUE;
*/

用户跟踪文件的位置
以下初始化参数控制用户跟踪文件的位置和大小
? USER_DUMP_DEST 规定按用户或 DBA 的请求创建跟踪文件的位置
? MAX_DUMP_FILE_SIZE 在 O/S 块中指定;限制用户跟踪文件的大小
Unix和Linux上一般在$ORACLE_HOME/admin/sid/bdump下,文件名为SID_ora_PID.trc

 

参考:

上下文 参考
初始化参数

BACKGROUND_DUMP_DEST

USER_DUMP_DEST
MAX_DUMP_FILE_SIZE

SQL_TRACE
动态性能视图 V$PARAMETER
数据字典视图
命令 ALTER SESSION SET SQL_TRACE
打包过程和函数 DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION