http://blog.sina.com.cn/s/blog_40c5130e0100biui.html
以下介绍两种SQL语句跟踪方法:企业管理器与命令跟踪方法。
一.企业管理器中跟踪SQL语句:
1.打开oracle的控制台。
2.选中要查询SQL语句执行效能的数据库。
3.选择菜单栏上“工具”—〉“diagnostic pack”—〉“top sql”,“top sessions”。
4.输入sys帐号密码并以dba身份登录。
5.在“顶层SQL”窗口选择,需要性能统计的项,比如“cpu时间”、“经过时间”、“每次执行磁盘读取数”等,该窗口就会显示以该性能参数为统计项的前25条数据。
6.该显示数据可以保存为报告图表(“文件”à“报告图表”),该图表为html格式可供维护小组进行sql性能分析。
二.命令方式跟踪用户的当前会话:
1.用户跟踪文件
.服务器进程跟踪文件可以通过以下命令,在会级或实例级被激活:
-alter session 命令
-set_sql_trace_in_session 过程
-初始化参数sql_trace
.用户跟踪文件中包含了在当前会话中被跟踪的SQL语句的统计信息
.Oracle数据库为每个服务器进程创建跟踪文件
2.激活用户跟踪文件
.实例级跟踪:设置SQL_TRACE初始化参数
.会话级跟踪:alter session set sql_trace=true
.在应用程序中激活跟踪:
Dbms_system.set_sql_trace_in_session(sid,serial#,true)
(1).跟踪当前会话-任何用户都可以跟踪自己的会话
开始跟踪:alter session set sql_trace=true
结束跟踪:alter session set sql_trace=false
(2).跟踪实例-只能sys进行跟
开始跟踪:alter system set sql_trace=true scope=spfile
结束跟踪:alter system set sql_trace=false scope=spfile
(3).应用程序中跟踪
首先了解一下所有的会话情况:
Select username,sid,serial# from v$session 结果如下:
开始跟踪:exec dbms_system.set_sql_trace_in_session(10,25.true)
结束跟踪:exec dbms_system.set_sql_trace_in_session(10,25.false)
3.格式化跟踪文件(tkprof):
在命令行进入跟踪文件所在目录,如下:
D:\oralce\admin\test\udump>tkprof test_ora_3504.trc result.txt
格式完跟踪文件之后,可以在result.txt文件中查看所跟踪用户执行的sql语句情况.
|