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