Oracle数据库sql语句的跟踪

本文详细介绍了两种SQL语句跟踪方法:通过企业管理器进行跟踪和命令方式跟踪用户的当前会话。企业管理器提供了直观的界面来监控SQL语句执行的性能指标,如CPU时间、经过时间、磁盘读取数等。命令方式则允许更细粒度地跟踪特定会话的SQL执行情况,包括实例级和会话级跟踪,以及如何在应用程序中激活跟踪。跟踪文件可以通过tkprof工具进行格式化,便于分析SQL性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 结果如下:

         Oracle数据库sql语句的跟踪

   

开始跟踪: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语句情况.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值