比較読みの目的と準備

STATSPACKは複数スナップショットを取得・保持しているため、正常時と問題発生時の比較が非常に有効です。 1枚のレポートだけを見ていても「これが正常なのか異常なのか」判断できないケースが多くあります。

比較読みが特に有効な場面:

  • 「昨日まで速かったのに今日から遅い」という突発的な性能劣化
  • 定期バッチの実行時間が徐々に長くなっている
  • リリース前後での性能変化の確認
  • 季節変動・月次処理のピーク分析

各セクションの読み方は PART 03 〜 PART 08 およびセクション定義書 全体構造マップ(定義書 PART 02) を参照。

比較すべき指標

指標見る場所比較のポイント
DB CPU % / Time Model内訳Time Model System Stats全体的な負荷構成の変化
Top 5 Wait Eventsの顔ぶれと割合Top 5 Timed Events新しいイベントの出現・既存イベントの急増
Transactions / Logical reads(/s)Load Profile処理量の変化
Hard Parses/sLoad Profile急増はバインド変数問題のサイン
Buffer Hit %Instance Efficiency急落はデータ量増加のサイン
Latch Hit %Instance Efficiency急落はLatch競合のサイン
Top SQLの顔ぶれと % Total DB TimeSQL ordered by Elapsed Time新しい重いSQLの出現、既存SQLの悪化

変化量の見方

STATSPACKの値はスナップショット間の累積値または /秒・/トランザクションで表示されます。 Load Profileは既に /秒 または /トランザクション に正規化されているため直接比較できます。

比較時の注意点理由
Elapsed Timeが異なる場合は /秒 に正規化長い期間のレポートは累積値が大きくなる
Load Profile の値はそのまま比較可能既に /秒 または /トランザクション に正規化済み
業務ピーク時間帯を合わせて比較オフピーク vs ピーク比較は意味がない
同一スナップショット間隔で比較間隔が異なると単純比較できない

💡 STATSPACKのスナップショット管理

STATSPACKのスナップショットは STATSPACK.SNAP で手動取得するか、DBMS_JOB でスケジューリングします。 比較読みのためにピーク時とオフピーク時のスナップショットを定期的に取得しておくことを推奨します。

ベースライン作成のすすめ

STATSPACKには自動ベースライン機能はありませんが、保持期間を適切に設定(デフォルト7日 → 変更可能)することで正常時のデータを残しておけます。 重要なスナップショットは削除対象から除外する設定も可能です。

ベースラインとして保存すべきタイミング
リリース直後(システムが正常に動作している状態)
大規模バッチが正常完了した直後
月次・年次の業務ピークが正常に終了した直後
チューニング前後(効果測定のため)

比較チェックリスト

チェック項目変化の目安問題発生時のアクション
DB CPU % の増加+20pt超は要調査PART 03 CPU分析
新しいWait Eventの出現正常時に存在しないイベントそのイベントに対応したPARTへ
Buffer Hit % 低下5pt超の低下PART 07 メモリ分析
Top SQL の顔ぶれ変化正常時に上位になかったSQLPART 05 SQL特定
Latch Hit % 低下0.1pt超の低下PART 08 Latch/Lock