Oracle Trace檔案生成及檢視

2021-06-18 09:15:46 字數 2726 閱讀 7520

1.trace file簡介:

trace file(追蹤檔案)是以trc為後續的文字檔案,它記錄了各種sql操作及所消耗的時間等,根據trace檔案我們就可以了解哪些sql導致了系統的效能瓶頸,進而採取恰當的方式調優.

2.怎麼生成trace file:

1. 首先用sqlplus登陸oracle.

show parameter sql_trace

name          type        value

sql_trace     boolean      false

如果value是false表示系統當前不會產生trace檔案.採取如下操作讓系統產生trace檔案:

alter session set sql_trace=true;

或者:alter system set sql_trace=true;

2.執行一些sql語句後.停止產生trace檔案.alter session(或system)  set sql_trace=false.

3.trace檔案所在的預設路徑.select value  from v$parameter where name = 'user_dump_dest'

我本機的查詢結果是:c:\oracle\product\10.2.0\admin\ora102\udump.

3.怎麼更改trace檔案的儲存目錄:

如果是oracle 11g 以下的版本則:alter system set user_dump_dest = 'd:\oracle\trace';(注意:trace檔案就直接生成在trace目錄下)

如果是oracle 11g.則alter system set user_diagnostic_dest = 'd:\oracle\trace';(注意:trace檔案不會直接生成在trace目錄下.trace目錄下會生成其他很多目錄.

trace檔案的具體目錄是:d:\oracle\trace\diag\rdbms\orli11r2\orli11r2\trace.其中的orli11r2是sid)

4.怎麼檢視trace檔案:

如果直接看trace檔案是很難看懂的.就是下面的樣子(我只是隨便複製一段):

parsing in cursor #2 len=90 dep=1 uid=0 oct=3 lid=0 tim=1319423003070864 hv=673844243 ad='7ecb9458' sqlid='9g485acn2n30m'

select col#,intcol#,reftyp,stabid,expctoid from refcon$ where obj#=:1 order by intcol# asc

end of stmtparse #2:c=0,e=56,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,plh=2544153582,tim=1319423003070864

binds #2: bind#0oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oac***=08 fl2=0001 frm=00 csi=00 siz=24 off=0 kxs

我們可以用oracle自帶的工具tkprof轉化後再檢視trace檔案.轉化後是下面的樣子:

sql id : 0zzk39z279q41

select version

from

product_component_version where product like 'oracle%'

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.00          0          0          0           1

total        3      0.00       0.00          0          0          0           1

misses in library cache during parse: 1

optimizer mode: all_rows

parsing user id: 69

rows     row source operation

1  view  product_component_version (cr=0 pr=0 pw=0 time=0 us cost=2 size=168 card=2)

1   sort unique (cr=0 pr=0 pw=0 time=0 us cost=2 size=110 card=2)

1    union-all  (cr=0 pr=0 pw=0 time=0 us)

0     fixed table full x$version (cr=0 pr=0 pw=0 time=0 us cost=0 size=55 card=1)

1     fixed table full x$version (cr=0 pr=0 pw=0 time=0 us cost=0 size=55 card=1)

引自:oracle,

trace檔案

用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 ...

用oracle trace 來跟蹤session

用oracle 密碼登入 1.在資料庫安裝的電腦上,使用sql plus 用 sysdba 身份連線到資料庫.2.找到要進行跟蹤的會話.select sid,serial username from v session 3.啟用相關會話的sql trace exec dbms system.set ...

keystore檔案生成

生成keystore 使用jre的keytool工具 keytool genkey alias entry的alias keyalg rsa keystore keystore檔案路徑 dname cn ip位址 ou o l st c storepass keystore密碼 keypass ke...