利用trcsess合併以共享模式連線的session所產生的tracefile!

warehouse發表於2009-06-24

我們知道mts下存在多個process為一個session服務的情況,這樣如果想開啟該session的trace功能,那麼產生的trace檔案勢必就有多個檔案,如何把這個多個檔案中的session資訊提取出來就顯的尤為重要,oracle提供的trcsess工具可以幫助我們,透過trcsess處理之後的tracefile就可以透過tkprof繼續處理了。

[@more@]

SQL> select distinct sid from v$mystat;

SID
----------
138

SQL> select saddr,paddr,server,sid,serial# from v$session where sid=138;

SADDR PADDR SERVER SID SERIAL#
-------- -------- --------- ---------- ----------
697267AC 6964C00C SHARED 138 7
SQL> select pid,spid from v$process where addr='6964C00C';

PID SPID
---------- ------------
14 4032
SQL> select name from v$shared_server where paddr='6964C00C';

NAME
----
S000

SQL>
--====================================
SQL> select distinct sid from v$mystat;

SID
----------
129

SQL> select saddr,paddr,server,sid,serial# from v$session where sid=129;

SADDR PADDR SERVER SID SERIAL#
-------- -------- --------- ---------- ----------
6971BEA4 6964C00C SHARED 129 17

SQL> select name from v$shared_server where paddr='6964C00C';

NAME
----
S000
SQL> declare
2 i number :=0;
3 j number :=0;
4 begin
5 loop
6 j:=i+1;
7 i:=i+1;
8 end loop;
9 end;
10 /

--=========================================
SQL> select distinct sid from v$mystat;

SID
----------
138

SQL> select saddr,paddr,server,sid,serial# from v$session where sid=138;

SADDR PADDR SERVER SID SERIAL#
-------- -------- --------- ---------- ----------
697267AC 6965074C SHARED 138 7
SQL> select name from v$shared_server where paddr='6965074C';

NAME
----
S001

SQL> select pid,spid from v$process where addr='6965074C';

PID SPID
---------- ------------
26 2808

SQL> alter session set sql_trace=true;

會話已更改。

SQL> select count(*) from t;

COUNT(*)
----------
6

SQL> select * from t;

ID
----------
1
1
2
3
4
2

已選擇6行。

SQL> alter session set sql_trace=false;

會話已更改。

SQL> show parameter _dump_dest

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string E:ORACLEPRODUCT10.2.0ADMIN
TESTBDUMP
core_dump_dest string E:ORACLEPRODUCT10.2.0ADMIN
TESTCDUMP
user_dump_dest string E:ORACLEPRODUCT10.2.0ADMIN
TESTUDUMP
SQL> host
Microsoft Windows XP [版本 5.1.2600]
(C) 版權所有 1985-2001 Microsoft Corp.

C:>e:

E:>cd E:oracleproduct10.2.0adminTESTbdump

E:oracleproduct10.2.0adminTESTbdump>dir *4032*
驅動器 E 中的卷沒有標籤。
卷的序列號是 F6E5-4B31

E:oracleproduct10.2.0adminTESTbdump 的目錄

2009-06-24 22:44 17,363 test_s000_4032.trc
1 個檔案 17,363 位元組
0 個目錄 2,366,357,504 可用位元組

E:oracleproduct10.2.0adminTESTbdump>dir *2808*
驅動器 E 中的卷沒有標籤。
卷的序列號是 F6E5-4B31

E:oracleproduct10.2.0adminTESTbdump 的目錄

2009-06-24 22:44 42,603 test_s001_2808.trc
1 個檔案 42,603 位元組
0 個目錄 2,366,357,504 可用位元組

--這裡要特別注意的是10g以mts模式連線的session其對應的process產生的tracefile放在了bdump下,而不是udump下。

E:oracleproduct10.2.0adminTESTbdump>trcsess
oracle.ss.tools.trcsess.SessTrcException: SessTrc-00002: 會話跟蹤用法錯誤: 傳遞
了錯誤的引數。
trcsess [output=] [session=] [clientid=>] [service=] [action=] [module=] file names>

output= output destination default being standard output.
session= session to be traced.
Session id is a combination of session Index & session serial number e.g. 8.13.

clientid= clientid to be traced.
service= service to be traced.
action= action to be traced.
module= module to be traced.
Space separated list of trace files with wild card '*' suppor
ted.


E:oracleproduct10.2.0adminTESTbdump>trcsess output=out.txt session=138.7 t
est_s000_4032.trc test_s001_2808.trc

E:oracleproduct10.2.0adminTESTbdump>dir out.txt
驅動器 E 中的卷沒有標籤。
卷的序列號是 F6E5-4B31

E:oracleproduct10.2.0adminTESTbdump 的目錄

2009-06-24 22:52 56,948 out.txt
1 個檔案 56,948 位元組
0 個目錄 2,366,300,160 可用位元組

E:oracleproduct10.2.0adminTESTbdump>tkprof out.txt out1.txt

TKPROF: Release 10.2.0.1.0 - Production on 星期三 6月 24 22:53:38 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

E:oracleproduct10.2.0adminTESTbdump>dir out1.txt
驅動器 E 中的卷沒有標籤。
卷的序列號是 F6E5-4B31

E:oracleproduct10.2.0adminTESTbdump 的目錄

2009-06-24 22:53 29,384 out1.txt
1 個檔案 29,384 位元組
0 個目錄 2,366,259,200 可用位元組

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-1023465/,如需轉載,請註明出處,否則將追究法律責任。

相關文章