日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TKPROF工具

發布時間:2024/8/26 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TKPROF工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ORACLE系統中的性能調整方法主要分為兩類:應用系統的調整和數據庫系統的性能調整。應用系統的調整關注的焦點在應用設計相關的方面,比如:事務規則的調整、數據的設計、應用程序的設計,ORACLE系統的性能與應用系統的設計密切相關,性能調整90%的項目都集中在應用程序的調整。

在應用程序調整結束后就將進行數據庫方面的調整。在進行數據庫的性能調整之前,要做的一項關鍵工作是利用工具進行SQL語句的性能分析:TKPROF工具、解釋執行計劃、AUTOTRACE工具。應用程序中低效的SQL語句往往是導致整個系統問題所在。本篇文章將就TKPROF工具進行討論和應用分析。

TKPROF工具

TKPROF工具(Trace Kernel Profile)是用于格式化用戶跟蹤文件的工具,它是個獨立的工具,可以在操作系統下直接執行。

$tkprof ora_12558.trc trace.txt


(1)生成用戶跟蹤文件

用戶跟蹤文件包括所有的用戶發出的SQL語句的信息,包括:每條語句的執行時間和占用資源的數量。因為跟蹤文件的信息是沒有格式化的原始信息,所以用TKPROF工具來轉換信息,使其易于理解。


(2) 用TKPROF格式化用戶跟蹤文件

$trprof ora_12558.trc trace.txt

這個例子將會格式化ora_12558.trc跟蹤文件,并生成格式化的轉換文件trace.txt。除了命令的頭兩個參數代表輸入文件名和輸出文件名,還有其他的一些附加參數用于指定期望的信息。這些選項如下所示:

選項?? 定義和用法

EXPLAN?? 為跟蹤文件中的每條語句生成一個執行計劃。產生的結果保存在指定模式的PLAN_TABLE中,該模式在命令中給出,即命令中必須要給出用戶名和口令。

TABLE?? 指定執行計劃保存的表名稱,替換缺省的PLAN_TABLE表名。

SYS?? 表明是否格式化的文件包括遞歸的SQL語句。

SORT?? 表明格式化的文件信息排序的規則。

RECORD?? 指定跟蹤文件中的SQL語句寫入哪一個文件。使你能將SQL語句與附加的資源使用信息分開。

PRINT?? 指定格式化的跟蹤文件最多可以寫入的SQL語句的數量。

INSERT?? 執行時創建一個腳本,用于生成一個TKPROF_TABLE表。

AGGREGATE 決定是否將多個執行相同語句分析的結果合并。


例1:$tkprof ora_1234.trc trace.txt sys=no explain=joe/sidney

該命令將忽略原始文件中的遞歸SQL;在格式化的跟蹤文件中包括每條SQL語句的執行計劃PLAN_TABLE依賴于用戶JOE模式。

例2:$tkprof ora_1234.trc trace.txt print=10 record=sql.txt

該命令將翻譯跟蹤文件ora_1234.trc并保存頭10條SQL語句到輸出文件trace.txt;創建一個文件sql.txt,用于保存原始跟蹤文件的頭10條SQL語句。

例3:$tkprof ora_1234.trc trace.txt insert=trace.sql sort=(fchrow)

該命令將翻譯跟蹤文件ora_1234.trc并保存到輸出文件trace.txt;創建第二個文件trace.sql,用于保存生成TKPORF_TABLE表的SQL命令。如果沒有排序參數fchrow,TKPROF將會按照執行的順序輸出到trace.txt文件中去。


(3)TKPROF排序參數

TKPROF的每個排序參數都與SQL語句的三個過程相關:分析、執行和獲取數據。

在分析階段進行執行SQL的準備工作,如進行語句的檢查、循環糾錯、決定要使用對象的用戶權利。與分析階段相關的排序參數有:

選項?? 定義和用法

PRSCNT?? 語句被分析的次數。

PRSCPU?? 分析這條語句花費的CPU時間。

PRSELA?? 分析這條語句花費的總時間。

PRSDSK?? 分析這條語句時讀磁盤的次數。

PRSMIS?? 分析這條語句時從SGA讀回滾塊的數量。

PRSCU?? 分析這條語句時從SGA讀數據塊的數量。


在SQL語句的執行階段,執行語句中指定的動作。例如:從表中選擇、插入、更新、刪除數據。創建用戶、表空間、數據文件等。與執行階段相關的排序參數有:

選項?? 定義和用法

EXECNT?? 語句被執行的次數。

EXECPU?? 執行這條語句花費的CPU時間。

EXEELA?? 執行這條語句花費的總時間。

EXEDSK?? 執行這條語句時讀磁盤的次數。

EXEMIS?? 執行這條語句時從SGA讀回滾塊的數量。

EXECU?? 執行這條語句時從SGA讀數據塊的數量。


如果在SQL語句中包括SELECT語句,SQL還將執行SQL語句中的最后一步,即fetch操作。fetch操作發生時SQL語句返回的結果集被送回用戶。與fetch階段相關的排序參數有:

選項?? 定義和用法

FCHCNT?? 語句獲取時的行數。

FCHCPU?? 獲取數據花費的CPU時間。

FCHELA?? 獲取數據花費的總時間。

FCHDSK?? 獲取數據時讀磁盤的次數。

FCHQRY?? 獲取數據時從SGA讀回滾塊的數量。

FCHROW?? 被語句獲取的行數。

FCHCU?? 獲取數據時從SGA讀數據塊的數量。


(4)用TKPROF翻譯已格式化的跟蹤文件

用戶的跟蹤文件被TKPROF格式化后,結果文件中的內容將會較好地用于性能分析。一個已經被TKPROF分析的格式化文件的例子如附圖。

從這個跟蹤文件可以發現,第三條語句被分析了一次,執行了五次,并執行了250此獲取操作。這個過程耗費了CPU 0.18秒的時間,整個語句執行花費了0.20秒的時間。它需要從磁盤讀取54個數據塊,從SGA讀取266個數據塊并返回245行數據。在最后一行顯示所有統計信息。


(5)標記需要調整的語句

使用TKPROF格式化的文件很容易看出需要調整的SQL語句。查找的依據是:

*耗費大量的CPU資源

*花費較長的時間進行SQL分析、執行和獲取

*從磁盤讀大量的數據塊,而從SGA區讀的數據很少

*訪問大量的數據塊但只返回一點數據

一旦找到這些語句就可以用執行計劃工具來進一步決定為什么這些語句性能這么低了。

總結

以上是生活随笔為你收集整理的TKPROF工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。