トップページ >  Oracle >  TKPROFトレースファイルの見方
初版2007/07/25: 最終更新日2007/07/25
  TKPROFトレースファイルの見方
目次
TKPROFトレースファイルの見方
Parseに関する情報
TKPROFトレースファイルの見方
ここではトレースファイルの味方について説明します。
tkprofコマンドによって作成されたトレースファイルにはSQLごとに下表のような情報が表示されます。

call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.33       1.17          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        2      2.12       5.23      13734      27468          0           2
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        4      2.45       6.40      13734      27468          0           2

Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: 44  

上表を例に列ごとに説明しますと、countはそれぞれ解析、実行、フェッチのカウントを表示しています。
cpuはそれぞれ解析、実行、フェッチにcpuが使用された時間を表示しています。
elapsedはそれぞれ解析、実行、フェッチに要した経過時間を表示しています。

cpu,elapsedで重要なのは、cpuの割にelapsedが異常に長い場合、待機が多いことが考えられるということです。

また、解析に異常に時間が掛かっている場合、SQLの複雑さも関係しますが、共有プールのサイズが適切なサイズではないことが考えられます。

diskはそのままディスクから読み込んだブロック数を表示しています。ディスクから読み込むのは時間が掛かるためこの数値が大きいのはよくありません。5桁以上は要注意です。
queryはバッファキャッシュから読み込んだブロック数です。これはメモリのため、高速ですが、5桁以上は要注意です。
currentは更新時にバッファキャッシュにアクセスした場合のみ表示されます。問合せの場合は通常は0ですが、稀に0にならない場合もあるようです。

disk,query,currentで重要なのは、query,currentの割にdiskが大きい場合、バッファキャッシュが有効活用できていないことが考えられます。

最後にrowsですが、これは問合せの行数を表示しています。更新系の場合は、Executeの欄に更新系の件数が表示されます。

Parseに関する情報
表の最後の3行はParseに関する情報です。
Misses in library cache during parse:の値はHard Parseの回数です。
通常1回か0回です。
Optimizer mode:は初期化パラメータOPTIMIZER_MODEを表示します。
Parsing user id:はユーザ番号を表示しています。