ITPub博客

首页 > Linux操作系统 > Linux操作系统 > -t【Oracle-故障管理】-Trace跟踪会话和会话执行慢故障分析

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

原创 Linux操作系统 作者:sDon 时间:2010-11-26 13:56:35 0 删除 编辑

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/645199/viewspace-680380/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-11-20

  • 博文量
    39
  • 访问量
    262879