数据库版本是10.2.0.1.0和10.2.0.4.0
SQL> select * from v$version where rownum<2;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
SQL> select * from v$version where rownum<2;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.04.0 - Prod
SQL> alter session set events '10046 trace name context forever,level 12';
Session altered
SQL> select count(*) from obj$;
COUNT(*)
----------
51486
SQL>
SQL> select
2 d.value||'/'||lower(rtrim(i.instance,
3 chr(0)))||'_ora_'||p.spid||'.trc' trace_file_name
4 from ( select p.spid
5 from v$mystat m,
6 v$session s,v$process p
7 where m.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr) p,
8 ( select t.instance from v$thread t,v$parameter v
9 where v.name = 'thread' and
10 (v.value = 0 or t.thread# = to_number(v.value))) i,
11 ( select value from v$parameter
12 where name = 'user_dump_dest') d
13 /
TRACE_FILE_NAME
--------------------------------------------------------------------------------
/u01/app/oracle/admin/jingyong/udump/jingyong_ora_2487.trc
对当前会话使用10046级别为12级的跟踪可以看到等待事件信息
select count(*)
from
obj$
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 0.04 0.06 23 133 0 1
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 3 0.04 0.06 23 133 0 1
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: SYS
Rows Row Source Operation
------- ---------------------------------------------------
1 SORT AGGREGATE (cr=133 pr=23 pw=0 time=61480 us)
51486 INDEX FAST FULL SCAN I_OBJ1 (cr=133 pr=23 pw=0 time=1252937 us)(object id 36)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 2 0.00 0.00
SQL*Net message from client 2 0.01 0.01
db file sequential read 3 0.01 0.01
db file scattered read 7 0.00 0.00
********************************************************************************
下面来跟踪其它会话
SQL> exec dbms_system.set_ev(147,57,10046,12,'SYS');
PL/SQL procedure successfully completed
SQL> exec dbms_system.set_sql_trace_in_session(147,57,true);
PL/SQL procedure successfully completed
SQL> exec dbms_system.set_sql_trace_in_session(147,57,false);
PL/SQL procedure successfully completed
SQL> exec dbms_system.set_ev(147,57,10046,0,'SYS');
但是在跟踪文件中没有等待信息
select count(*)
from
obj$
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 0.03 0.03 0 133 0 1
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 3 0.03 0.03 0 133 0 1
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: SYS
Rows Row Source Operation
------- ---------------------------------------------------
1 SORT AGGREGATE (cr=133 pr=0 pw=0 time=33599 us)
51486 INDEX FAST FULL SCAN I_OBJ1 (cr=133 pr=0 pw=0 time=876016 us)(object id 36)
但是在全局启用10046级别为12级的跟踪在生成的跟文件中可以看到等待事件信息
select cols,audit$,textlength,intcols,property,flags,rowid
from
view$ where obj#=:1
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 317 0.06 0.05 0 19 0 0
Execute 438 0.09 0.08 0 0 0 0
Fetch 438 0.08 0.33 56 1314 0 438
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 1193 0.23 0.48 56 1333 0 438
Misses in library cache during parse: 20
Misses in library cache during execute: 20
Optimizer mode: CHOOSE
Parsing user id: SYS (recursive depth: 1)
Rows Row Source Operation
------- ---------------------------------------------------
1 TABLE ACCESS BY INDEX ROWID VIEW$ (cr=3 pr=3 pw=0 time=20069 us)
1 INDEX UNIQUE SCAN I_VIEW1 (cr=2 pr=2 pw=0 time=10796 us)(object id 99)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
db file sequential read 56 0.01 0.30
SQL*Net message to client 32 0.00 0.00
SQL*Net message from client 32 0.00 0.00
********************************************************************************
而使用dbms_support来进行跟踪在生成的跟踪文件中也能看到等待事件信息
SQL> @D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\dbmssupp.sql
Package created
SQL> exec sys.dbms_support.start_trace_in_session(147,59,true,true);
PL/SQL procedure successfully completed
SQL> exec sys.dbms_support.stop_trace_in_session(147,59);
PL/SQL procedure successfully completed
select count(*)
from
col$
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 0.14 0.29 130 138 0 1
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 3 0.14 0.30 130 138 0 1
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: SYS
Rows Row Source Operation
------- ---------------------------------------------------
1 SORT AGGREGATE (cr=138 pr=130 pw=0 time=296924 us)
56008 INDEX FAST FULL SCAN I_COL3 (cr=138 pr=130 pw=0 time=1431460 us)(object id 47)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 2 0.00 0.00
SQL*Net message from client 2 0.02 0.02
db file sequential read 1 0.02 0.02
db file scattered read 18 0.02 0.21
使用dbms_monitor来跟其他会话在生成的跟踪文件中也能看到等待事件
SQL> exec dbms_monitor.session_trace_enable(147,61,true,true);
PL/SQL procedure successfully completed
SQL> exec dbms_monitor.session_trace_disable(147,61);
PL/SQL procedure successfully completed
select count(*)
from
ind$
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 0.00 0.03 2 9 0 1
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 3 0.01 0.04 2 9 0 1
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: SYS
Rows Row Source Operation
------- ---------------------------------------------------
1 SORT AGGREGATE (cr=9 pr=2 pw=0 time=37846 us)
2345 INDEX FAST FULL SCAN I_IND1 (cr=9 pr=2 pw=0 time=107104 us)(object id 39)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 2 0.00 0.00
SQL*Net message from client 2 0.01 0.01
db file sequential read 2 0.03 0.03
********************************************************************************
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 5 0.00 0.00 0 0 0 0
Execute 5 0.00 0.00 0 0 0 2
Fetch 3 0.00 0.03 2 9 0 3
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 13 0.01 0.04 2 9 0 5
Misses in library cache during parse: 1
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 8 0.00 0.00
SQL*Net message from client 7 4.37 4.40
db file sequential read 2 0.03 0.03