oracle会话太多慢,-t【Oracle-故障管理】-Trace跟踪会话和会话执行慢故障分析

本文详细介绍了如何在Oracle数据库中使用SQLTrace跟踪session,包括设置跟踪、运行程序、停止追踪,并通过tkprof分析性能瓶颈。重点讲解了如何定位和改善特定查询的执行效率。

Oracle 用trace来跟踪session

1.在数据库安装的电脑上,使用SQL plus 用 SYSDBA 身份连接到数据库.

2.找到要进行跟踪的会话.

select sid,serial#,username from v$session ;

3.启用相关会话的SQL trace .

exec dbms_system.set_sql_trace_in_session(7,284,true)

4.从指定SESSION 运行一些程序过程

5.停止会话跟踪.

exec dbms_system.set_sql_trace_in_session(7,284,false)

6.使用tkprof 程序对跟踪到的文件进行格式化.

tkprof aaa.trc aaa.txt

7.查看aaa.txt就可以了.

----如果是跟踪本SESSION,可以用:dbms_session.set_sql_trace(true);

dbms_session.set_sql_trace(false);

Unix下查oracle最近执行的sql语句$cd $ORACLE_HOME/admin/udump

$ls -alt | more

$tkprof filename out_filename explain=apps/apps sys=no

8.知道了怎么去跟踪一个会话,现在我们就可以根据tkprof生的的txt文件进行会话分析,

如图:我们在trace出来的txt文件中发现elapsed为327.44 ,即5分多钟,比较后发现可以是该地方出现问题select /*+ all_rows */ count(1)

from

"INST"."OFFER_MEMBER" where "OFFER_ROLE_ID" = :1

call     count       cpu    elapsed       disk      query    current        rows

------- ------  -------- ---------- ---------- ---------- ----------  ----------

Parse        1      0.00       0.00          0          0          0           0

Execute      1      0.00       0.00          0          0          0           0

Fetch        1     38.67     327.44    1381706    1597572          1           1

------- ------  -------- ---------- ---------- ---------- ----------  ----------

total        3     38.67     327.44    1381706    1597572          1           1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值