ORACLE中SQL TRACE和TKPROF的使用
ORACLE中SQL TRACE和TKPROF的使用
SQL TRACE 和 tkprof sql語句分析工具
一 SQL TRACE 使用方法:
1.初始化sql trace
引數:
timed_statistics=true 允許sql trace 和其他的一些動態效能檢視收集與時間有關的引數、
SQL>alter session set titimed_statistics=true
max_dump_file_size=500 指定跟蹤檔案的大小
SQL> alter system set max_dump_file_size=500;
user_dump_dest 指定跟蹤檔案的路徑
SQL> alter system set user_dump_dest=/oracle/oracle/diag/rdbms/orcl/orcl/trace;
2.為一個session 啟動sql trace
2.1命令方式
alter session set sql_trace=true
2.2 透過儲存過程啟動sqltrace
select sid,serial#,osuser from v$session;
SID SERIAL# OSUSER
168 1 oracle
execute rdbms_system.set_sql_trace_in_session (168 ,1,true);
3.停止一個sql trace 會話
3.1 命令方式
alter session set sql_trace=false
3.2 儲存過程的方式
execute rdbms_system.set_sql_trace_in_session (168 ,1,false);
4. 為整個例項啟動SQL trace (一般消耗系統效能較高,不會用)
alter system set sql_trace=true scope=spfile
從新啟動資料庫
5. 停止一個例項的sql trace
alter system set sql_trace=flase scope=spfile
啟動sql trace 之後收集的資訊包括
1.解析、執行、返回資料的次數
2.cpu和執行命令的時間
3.物理讀和邏輯讀的次數
4.系統處理的記錄數
5.庫緩衝區錯誤
二 TKPROF的使用
tkprof 的目的是將sql trace 生成的跟蹤檔案轉換成使用者可以理解的格式
1. 格式
tkprof inputfile outputfile [optional | parameters ]
引數和選項:
explain=user/password 執行explain命令將結果放在SQL trace的輸出檔案中
table=schema.table 指定tkprof處理sql trace檔案時臨時表的模式名和表名
insert=scriptfile 建立一個檔名為scriptfile的檔案,包含了tkprof存放的輸出sql語句
sys=[yes/no] 確定系統是否列出由sys使用者產生或重調的sql語句
print=number 將僅生成排序後的第一條sql語句的輸出結果
record=recordfile 這個選項建立一個名為recorderfile的檔案,包含了所有重呼叫的sql語句
sort=sort_option 按照指定的方法對sql trace的輸出檔案進行降序排序
sort_option 選項
prscnt 按解析次數排序
prscpu 按解析所花cpu時間排序
prsela 按解析所經歷的時間排序
prsdsk 按解析時物理的讀操作的次數排序
prsqry 按解析時以一致模式讀取資料塊的次數排序
prscu 按解析時以當前讀取資料塊的次數進行排序
execnt 按執行次數排序
execpu 按執行時花的cpu時間排序
exeela 按執行所經歷的時間排序
exedsk 按執行時物理讀操作的次數排序
exeqry 按執行時以一致模式讀取資料塊的次數排序
execu 按執行時以當前模式讀取資料塊的次數排序
exerow 按執行時處理的記錄的次數進行排序
exemis 按執行時庫緩衝區的錯誤排序
fchcnt 按返回資料的次數進行排序
fchcpu 按返回資料cpu所花時間排序
fchela 按返回資料所經歷的時間排序
fchdsk 按返回資料時的物理讀操作的次數排序
fchqry 按返回資料時一致模式讀取資料塊的次數排序
fchcu 按返回資料時當前模式讀取資料塊的次數排序
fchrow 按返回資料時處理的資料數量排序
三 sql trace 的輸出結果
count:提供OCI過程的執行次數
CPU: 提供執行CPU所花的時間單位是秒
Elapsed:提供了執行時所花的時間。單位是秒。這個引數值等於使用者響應時間
Disk:提供快取區從磁碟讀取的次數
Query:以一致性模式從快取區獲得資料的次數
Current:以當前模式從快取區獲得資料的次數
ROWs: 返回撥用或執行呼叫時,處理的資料行的數量。
四:舉例:
sql>alter session set sql_trace=true
SQL>select * from dba_users;
SQL>show parameter user_dump_dest
user_dump_dest string /oracle/oracle/diag/rdbms/orcl/orcl/trace
SQL>exit
cd /oracle/oracle/diag/rdbms/orcl/orcl/trace
tkprof orcl_ora_11066.trc /oracle/oracle/trace1.out sys=yes
vi trace.out
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12932950/viewspace-324420/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL TRACE和TKPROF,10046的使用步驟SQL
- 使用sql trace工具和tkprof來跟會話SQL會話
- Oracle Trace 及TKPROFOracle
- sql_trace生成及使用tkprof檢視trace fileSQL
- 使用SQL TRACE和TKPROF觀察SQL語句執行結果SQL
- 使用SQL TRACE和TKPROF——效能調整手冊和參考SQL
- SQL_TRACE與tkprof分析SQL
- sql_trace 及 tkprof 工具SQL
- [sql 優化]使用TKPROF格式化TRACE輸出SQL優化
- Maclean教你讀SQL TRACE TKProf報告MacSQL
- SQL跟蹤工具和TKPROF使用SQL
- sql_trace、10046、10053、tkprofSQL
- Oracle SQL_TRACE使用小結OracleSQL
- 利用tkprof檢視trace檔案
- Oracle SQL Trace 和 10046 事件OracleSQL事件
- Oracle SQL Trace 和10046 事件OracleSQL事件
- ORACLE 使用TRACE進行SQL效能分析OracleSQL
- Oracle sql trace用法OracleSQL
- oracle tkprof使用小結Oracle
- ORACLE TKPROF 使用小結Oracle
- sql_trace的使用SQL
- oracle“SQL Trace”簡介OracleSQL
- Oracle 10046 SQL TRACEOracleSQL
- sql trace的使用說明一SQL
- 如何使用SQL_TRACE和10046事件SQL事件
- 【實驗】【SQL_TRACE】使用sql_trace功能獲得show parameter的sql語句SQL
- 使用 Tkprof 分析 ORACLE 跟蹤檔案Oracle
- Oracle診斷案例-Sql_traceOracleSQL
- TKPROF的使用簡介
- 轉:使用 Tkprof 分析 ORACLE 跟蹤檔案Oracle
- oracle tkprof使用小結 -- 轉自網路Oracle
- 讀懂Oracle 10046 SQL TRACEOracleSQL
- SQL TraceSQL
- 分析及格式化trace檔案 - TKPROF (Transient Kernel Profiler)
- 使用Trace Management Object監測和診斷SQL Server(一)ObjectSQLServer
- 使用Trace Management Object監測和診斷SQL Server(二)ObjectSQLServer
- Oracle SQL 跟蹤 --- dbms_system.set_sql_trace_in_sessionOracleSQLSession
- 使用Oracle TRACE——效能調整手冊和參考Oracle