设置sql进行跟踪

发布于:2021-12-03 02:16:38

1:确认相关参数设置。
跟踪自己的代码。如果能访问程序的源代码,则打开其扩展SQL跟踪就非常容易。首先必须确保会话的TIMED_STATISTICS和MAX_DUMP_ FILE_SIZE参数设置正确:?


alter session?
set timed_statistics=true
alter session?
set max_dump_file_size=unlimited


如果没有设置TIMED_STATISTICS=TRUE,则数据库内核将把0值而不是真正的持续时间发送到跟踪文件中。如果对MAX_DUMP_ FILE_SIZE严加限制,则会在跟踪文件中生成下面这样的消息,而不是你想要的时间数据:
可以使用 show parameters timed_statistics;来查看他的值。
2:如果是跟踪自己,使用
?? alter session set sql_trace = true;
?? 如果是跟踪别的用户,则先查询v$session视图,获取进程信息:
?? select sid,serial#,username from v$session;
?????? SID??? SERIAL# USERNAME
---------- ---------- ------------------------------
???????? 1????????? 1
???????? 2????????? 1
???????? 3????????? 1
???????? 4????????? 1
???????? 5????????? 1
???????? 6????????? 1
???????? 7??????? 284 IFLOW
??????? 11??????? 214 IFLOW
??????? 12??????? 164 SYS
??????? 16?????? 1042 IFLOW
???? 10 rows selected.
???? 然后使用exec dbms_system.set_sql_trace_in_session(7,284,true);进行跟踪.
3: 停止跟踪,切记运行一段时间后一定要停止跟踪,对应2 分别采用:
?? alter session set sql_trace= false;
?? 或则
?? exec dbms_system.set_sql_trace_in_session(7,284,false);
???
4:格式化trc文件
??? 生成的文件放在udump目录下,可以使用tkprof来查看
??? C:>tkprof D:oracle9admin
bxtdbudump
bxtdb_ora_1912.trc 13.txt???????? sys=no explain=test/test
?? 然后就可查看文本文件了进行分析了。



转载于:https://www.cnblogs.com/rootq/articles/1227545.html

相关推荐

最新更新

猜你喜欢