>  기사  >  데이터 베이스  >  Oracle 10 DBMS_MONITOR跟踪和分析其它session SQL

Oracle 10 DBMS_MONITOR跟踪和分析其它session SQL

WBOY
WBOY원래의
2016-06-07 17:31:231058검색

Oracle 10 DBMS_MONITOR跟踪和分析其它session SQL

Oracle 10 DBMS_MONITOR跟踪和分析其它session SQL

1. session 信息

查看当前session信息语句

select sid, serial#, username, machine
from v$session
where type != 'BACKGROUND'
and username = 'SYS';

-- session 1 ----

session_id = 146
serial# = 18

-- session 2 --

session_id = 140
serial# = 31

2.执行过程

1)-- session 1 ----
-- start trace --
EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE(session_id=>140, serial_num=>31, waits=>TRUE, binds=>TRUE);
#############################
2)-- session 2 --
执行SQL语句
###########################


3)-- session 1 ----

select sql_trace, sql_trace_waits, sql_trace_binds
from v$session
where sid = 140;

-- end trace --
EXECUTE DBMS_MONITOR.SESSION_TRACE_DISABLE(session_id=>140, serial_num=>31);

4)生成跟踪文件
跟踪结束自动生成session 2 SPID跟踪文件oradb1_ora_3732.trc

3.查看结果

1)查看session的SID、SERIAL#,process的PID、SPID

SQL> select s.sid, s.serial#, p.pid, p.spid
 2  from v$session s, v$process p
 3  where s.paddr = p.addr
 4  and s.username = 'SYS';

      SID    SERIAL#        PID SPID
---------- ---------- ---------- ------------
      140        31        16 3732
      146        18        17 4072

2)生成session 2 分析结果文件

tkprof C:\oracle\product\10.2.0\admin\oradb1\udump\oradb1_ora_3732.trc 3732.txt

推荐阅读:

[Oracle] dbms_metadata.get_ddl的用法总结 

使用DBMS_HPROF包收集PL/SQL性能信息

 [Oracle] 统计信息和dbms_stats包

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.