alter session set events
timed_statistics 設置為true(也可以在session上設置)
user_dump_dest 指定trace文件生成的目錄
max_dump_file_size trace文件的最大尺寸(單位為操作系統塊)
Oracle
optimizer_mode 定義缺省的查詢優化器
注
在Init
SQL_TRACE = TRUE
這樣會對系統性能造成明顯的影響
alter session set sql_trace=true
dbms_session
必須安裝DBMS_SESSION包
dbms_system
alter session set events
alter session set events
N為以下值之一
N=
N=
N=
N=
trace文件名是ora_xxxx_SID
tkprof是用來解釋trace文件內容
tkprof trace文件名 報告文件名 [sort=option]
例:
tkprof ora_
sort參數是用來指定輸出的SQL是按什麼數據來排序(如cpu時間或elapsed時間
在report
select *
from
reverse_test where id=
call count cpu elapsed disk query current rows
Parse
Execute
Fetch
total
Misses in library cache during parse:
Optimizer goal: CHOOSE
Parsing user id:
Rows Row Source Operation
在report
query+current/rows 平均每行所需的block數
Parse count/Execute count parse count應盡量接近
rows Fetch/Fetch Fetch Array的大小
disk/query+current 磁盤IO所占邏輯IO的比例
elapsed/cpu 太大表示執行過程中花費了大量的時間等待某種資源
cpu OR elapsed 太大表示執行時間過長
執行計劃中的Rows 表示在該處理階段所訪問的行數
tkprof的參數有下面幾個
/*********************************/
explain=username/password
connect to oracle and issue explain plain
/*********************************/
/*********************************/
talbe=schema
use
/*********************************/
/*********************************/
aggregate=yes/no
/*********************************/
/*********************************/
insert=filename
list sql statements and data inside insert statements
/*********************************/
/*********************************/
sys=no
tkprof does not list sql statements run as user sys
/*********************************/
/*********************************/
record=filename
record non
/*********************************/
/*********************************/
print=integer
list only the first
/*********************************/
/*********************************/
sort=option
set zero or more of the following sort options
##########################################
##### 詳細參數 #####
##########################################
/*********************************/
sort=userid
userid of user that parsed the cursor
/*********************************/
/*********************************/
sort=fchrow
number of rows fetched
/********************************/
/********************************/
sort=fchcu
number of buffers for current read during fetch
/********************************/
/********************************/
sort=fchela
elapsed time fetching
/********************************/
/********************************/
sort=fchcnt
number of times fetch was called
/********************************/
##########################################
##### 詳細參數 ######
##########################################
/*********************************/
(
例如
/**************************/
sort=userid
userid of user that parsed the cursor
/********************************/
/*********************************/
sort=fchrow
number of rows fetched
/*****************************/
/*********************************/
sort=fchcu
number of buffers for current read during fetch
/**************************/
/**************************/
sort=fchela
elapsed time fetching
/****************************************/
/*************************************/
sort=fchcnt
number of times fetch was called
/********************************/
/******************************/
From:http://tw.wingwit.com/Article/program/Oracle/201311/17076.html