新聞中心
Tkprof是一個用于分析Oracle跟蹤文件并且產(chǎn)生一個更加清晰合理的輸出結(jié)果的可執(zhí)行工具。本文從以下幾個方面來介紹Tkprof的使用。
1.設(shè)置參數(shù)文件
設(shè)置三個參數(shù)timed_staticstices ,user_dump_dest, max_dump_file_size.
timed_staticstices 用于啟動或禁止對定時統(tǒng)計信息(如CUP時間、占用時間),以及動態(tài)性能表中多種統(tǒng)計信息的收集功能。
- alter session set timed_statistics true;
- alter system set timed_statistics false;
MAX_DUMP_FILE_SIZE 當實例層啟用SQL TRACE的時候,在每次請求服務(wù)器的時候,都將在跟蹤文件中產(chǎn)生一個文本行,這些文件的***尺寸受限于初始化參數(shù)的設(shè)置。默認為500(blocks)。若里面的數(shù)據(jù)被截斷則增大SIZE。若為UNLIMITED則意味著沒有上限。
USER_DUMP_DEST 設(shè)置跟蹤文件的存儲位置。默認為admin/用戶/udump;
- alter system set user_dump_dest=newdir
2.啟動SQL TRACE實用工具
對會話啟動SQL TRACE:
- alter session set sql_trace=true;
- alter session set sql_trace=false;
ALTER SESSION SET EVENTS:
- alter session set events '10046 trace name context forever,level
'; - alter session set events '10046 trace name context off';
- alter system set events '10046 trace name context forever,level 1'
- alter system set events '10046 trace name context off'
說明:
n=1---------激活標準SQL_TRACE工具,這與設(shè)置SQL_TRACE=TRUE 沒有任何不同;
n=4---------激活標準SQL_TRACE,且可以撲獲跟蹤文件中的綁定變量;
n=8---------激活標準SQL_TRACE,且可在查詢級上撲獲跟蹤文件中的等待事件;
n=12--------激活標準SQL_TRACE,并包括撲獲綁定變量與等待事件。
對用戶實例啟動SQL TRACE:
- alter system set sql_trace=true;
- alter system set sql_trace=false;
3.使用tkprof格式化trace文件
代碼如下:
- tablefontschema.tablename Use 'schema.tablename' with 'explain=' option. //用于指定在將執(zhí)行規(guī)劃寫進輸出文件之前,TKPROF用于臨時存放執(zhí)行規(guī)劃所用表的架構(gòu)和名稱。
- explain=user/password Connect to ORACLE and issue EXPLAIN PLAN.
- print=integer List only the first 'integer' SQL statements. //只列出輸出文件中的***個INTEGER的SQL語句,若忽略,則TKPROF將列出所有跟蹤的SQL語句。
- aggregate=yes|no //若用戶指定AGGREGATE=NO,TKPROF將不會對相同SQL文本的多個用戶進行匯總。
- insert=filename List SQL statements and data inside INSERT statements. //SQL腳本的一種,用于將跟蹤文件的動機信息存儲到數(shù)據(jù)庫中。
- sys=no TKPROF does not list SQL statements run as user SYS. //于啟動或禁止將用戶SYS所發(fā)布的SQL語句列表到輸出文件之中,也包括遞歸SQL(為執(zhí)行用戶的SQL語句,ORACLE還必須執(zhí)行一些附加語句)語句在內(nèi)。默認為YES。
- record=filename Record non-recursive statements found in the trace file. //對于跟蹤文件中的所用非遞歸SQL語句,TKPROF 將以指定的名稱來創(chuàng)建某個SQL腳本。用于對跟蹤文件中的用戶時間進行重放。
- waits=yes|no Record summary for any wait events found in the trace file.
- sort=option Set of zero or more of the following sort options: //在將被跟蹤的SQL語句列表輸出到跟蹤文件之前,先將其按照指定排序選項的降序關(guān)系對其進行排序;若指定了多種排序選項,那么根據(jù)排序選項所指定值的和的降序關(guān)系對其進行排序;若忽略此參數(shù),那么TKPROF將按照使用次序把語句列表到輸出文件中。
- prscnt number of times parse was called //語句解析的數(shù)目。
- prscpu cpu time parsing //語句解析所占用的CPU時間。
- prsela elapsed time parsing //語句解析所占用的時間(總是大于或等于CPU時間)。
- prsdsk number of disk reads during parse// 語句解析期間,從磁盤進行物理讀取的數(shù)目。
- prsqry number of buffers for consistent read during parse// 語句解析期間,一致模式塊讀取(CONSISTENT MODE BLOCK READ)的數(shù)目。
- prscu number of buffers for current read during parse //語句解析期間,當前模式讀?。–URRENT MODE BLOCK READ)的數(shù)目。
- prsmis number of misses in library cache during parse// 語句解析期間,庫緩存失敗的數(shù)目。
- execnt number of execute was called //語句執(zhí)行的數(shù)目。
- execpu cpu time spent executing //語句執(zhí)行所占用的CPU時間。
- exeela elapsed time executing //語句執(zhí)行所占用的時間(總是大于或等于CPU時間)。
- exedsk number of disk reads during execute //語句執(zhí)行期間,從磁盤進行物理讀取的數(shù)目。
- exeqry number of buffers for consistent read during execute //語句執(zhí)行期間,一致模式塊讀取(CONSISTENT MODE BLOCK READ)的數(shù)目。
- execu number of buffers for current read during execute //語句執(zhí)行期間,當前模式讀取(CURRENT MODE BLOCK READ)的數(shù)目。
- exerow number of rows processed during execute //語句執(zhí)行期間,所處理的語句行數(shù)。
- exemis number of library cache misses during execute //語句執(zhí)行期間,庫緩存失敗的數(shù)目。
- fchcnt number of times fetch was called //取數(shù)據(jù)的數(shù)目。
- fchcpu cpu time spent fetching //取數(shù)據(jù)所占用的CPU時間。
- fchela elapsed time fetching //取數(shù)據(jù)所占用的時間(總是大于或等于CPU時間)。
- fchdsk number of disk reads during fetch //取數(shù)據(jù)期間,從磁盤進行物理讀取的數(shù)目。
- fchqry number of buffers for consistent read during fetch //取數(shù)據(jù)期間,一致模式塊讀?。–ONSISTENT MODE BLOCK READ)的數(shù)目。
- fchcu number of buffers for current read during fetch //取數(shù)據(jù)期間,當前模式讀?。–URRENT MODE BLOCK READ)的數(shù)目。
- fchrow number of rows fetched //所獲取的行數(shù)。
- userid userid of user that parsed the cursor。
關(guān)于Oracle跟蹤文件分析工具TKPROF的使用就介紹到這里,謝謝大家!
【編輯推薦】
- 利用Sql Server將Excel中的數(shù)據(jù)導(dǎo)入Oracle
- ASP通過Oracle Object for OLE對Oracle查詢
- 在存儲過程中連接遠程Oracle數(shù)據(jù)庫并進行操作
- ORACLE數(shù)據(jù)庫PL/SQL編程之把過程與函數(shù)說透
- 環(huán)境變量導(dǎo)致ASP.Net無法連接Oracle的一個案例
本文題目:Oracle跟蹤文件分析工具TKPROF使用簡介
轉(zhuǎn)載來源:http://m.fisionsoft.com.cn/article/cdeiodo.html


咨詢
建站咨詢
