レポートヘッダは STATSPACKレポートの最初に表示される総覧ブロックです。ここで全体像をつかみ、次にどのセクションを見るかを決めます。12項目の見方を順に解説します。
1. Database / Instance Information— DBインスタンス情報
何を表すか: DB ID / DB Name / Instance / Inst Num / Startup Time / Release / RAC 等。レポートが「どのDBで取得されたか」を特定するメタ情報。
- 読み方: DBバージョン(Release)とRAC構成を確認。Startup Time がスナップ期間の途中だと再起動が挟まっているサイン。その場合は累積カウンタがリセットされており比較不可。
- 閾値・注意点: RAC=YES なら他インスタンスの STATSPACK も併読すべき。
- 関連セクション: Host Information / Snapshot Information
- 使うシーン: レポート読み始め最初に確認
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| Database | DBの論理名(DB_NAME) | 複数DB環境での識別に使用 |
| DB Id | DB一意識別子(数値) | DB名重複環境での識別 |
| Instance | インスタンス名(ORACLE_SID) | RAC環境では各インスタンスを区別 |
| Inst Num | インスタンス番号 | 1 = シングルまたはRAC 1号機 |
| Startup Time | DBの起動時刻 | スナップ期間中なら再起動があった証拠。累積カウンタが信頼できない |
| Release | Oracleバージョン文字列 | 機能の有無・バグ可能性の判断基準 |
| RAC | RAC構成かどうか(YES/NO) | YES の場合は全ノードの STATSPACK を合わせて読む |
2. Host Information— ホスト情報
何を表すか: Platform / CPUs / Cores / Sockets / Memory(G)。AAS判定やCPUボトルネック評価の前提値。
- 読み方: Cores 値が AAS 閾値の基準。Memory(G) と Cache Sizes を見比べて SGA/PGA の占有率を推測する。
- 閾値・注意点: CPUs > Cores の場合はHyper-Threadingが有効。AAS の閾値は物理コア数(Cores)で判断するのが適切。
- 関連セクション: Instance CPU / OS Statistics
- 使うシーン: CPU/メモリ系の評価前に必ず確認
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| Host Name | サーバのホスト名 | (特定環境情報のため非表示) |
| Platform | OS種別・アーキテクチャ | OS依存挙動の判断基準(非表示) |
| CPUs | 論理CPU数(HyperThread含む) | 論理数。AAS閾値にはCoresを使う |
| Cores | 物理コア数 | AAS 閾値の基準値。Cores超えで要注意 |
| Sockets | 物理ソケット数(CPU搭載数) | NUMA構成の判断に使う |
| Memory (G) | サーバ物理メモリ総量 | SGA+PGA が物理メモリの 70% 未満が目安 |
3. Snapshot Information— スナップショット情報
何を表すか: Begin/End Snap の番号・時刻・Sessions数・Curs/Sess・Elapsed(mins)・DB time(mins)・Av Act Sess・DB CPU(mins)。集計区間と負荷総量の把握。
- 読み方:
AAS = DB Time(s) / Elapsed(s)。Cores 数と比較して余裕を判定。DB CPU(mins) / DB Time(mins) でCPU比率も把握。 - 閾値・注意点: AAS が Cores を超えると CPU ボトルネックの可能性。DB CPU / DB Time が高いほど CPU 支配型のワークロード。
- 関連セクション: Load Profile / Top 5 Timed Events
- 使うシーン: AAS 計算・スナップ期間特定
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| Begin/End Snap | スナップID と取得時刻 | 集計区間の特定。Startup Time より前ならカウンタリセット済み |
| Elapsed (mins) | Begin〜End の経過時間(分) | AAS 計算の分母。短いほど瞬間的な負荷を反映 |
| Av Act Sess | 平均アクティブセッション数 | AAS = DB Time(s) / Elapsed(s)。Cores 超えで要注意 |
| DB time (mins) | 全FGセッションの累積 DB 時間 | AAS 計算の分子。負荷総量の代表指標 |
| DB CPU (mins) | DB が消費した CPU 時間(分) | DB time に対する CPU 比率でワークロード性質を判断 |
| Sessions (Begin/End) | スナップ取得時点のセッション数 | 急増はセッションリーク・攻撃の可能性 |
| Curs/Sess | セッションあたりのオープンカーソル数 | 大きい場合はカーソルクローズ漏れの可能性 |
4. Cache Sizes— キャッシュサイズ
何を表すか: Buffer Cache / Shared Pool の Begin/End サイズ、Std Block Size、Log Buffer。
- 読み方: Begin と End の差でメモリ動的Resize(ASMM)を検知。Begin と End が異なる場合は Memory Dynamic Components で詳細を確認する。
- 閾値・注意点: AWR と異なり Shared Pool の End 値は表示されない場合がある。Log Buffer が小さい(2MB 未満)環境ではredo log space request 待機が発生しやすい。
- 関連セクション: Buffer Pool Statistics / Shared Pool Advisory / Memory Dynamic Components
- 使うシーン: メモリサイジング確認・ASMM 動的変更の検知
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| Buffer Cache (Begin/End) | Buffer Cache のサイズ(MB) | 差異あり → ASMM による動的変更が発生 |
| Shared Pool (Begin/End) | Shared Pool のサイズ(MB) | 縮小した場合 ORA-4031 リスク。Advisory と照合 |
| Std Block Size | 標準ブロックサイズ(通常8K) | 非標準ブロックサイズのキャッシュは別途確認 |
| Log Buffer | REDOログバッファサイズ | 小さすぎると redo log space request 待機が発生 |
5. Load Profile— ロードプロファイル
何を表すか: 1秒・1トランザクション・1Exec・1Call あたりの主要負荷指標。DB全体の処理量を一目で把握する最重要表。
- 読み方: Per Second 列で日常感覚と比較。Logical reads / Physical reads の比でキャッシュ効率を判定。Hard parses / Parses 比が低ければバインド変数が活用されている。
- 閾値・注意点: AWRの Load Profile と列構成はほぼ同じだが「W/A MB processed」(Work Area MB処理量)が加わる。Rollbacks が多い場合はエラー多発やロールバック依存処理を疑う。
- 関連セクション: Instance Efficiency / Time Model System Stats
- 使うシーン: ワークロード性質の把握・比較分析の基準値
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| DB time (s) | 1秒あたりの累積DBセッション時間 | ≈ AAS(平均アクティブセッション)。Cores 超えで要注意 |
| DB CPU (s) | 1秒あたりのDB CPU消費時間 | DB time に対する比率でCPU vs 待機を判断 |
| Redo size (bytes) | 1秒あたりの REDO 生成量 | 大量 DML の目安。LGWR 負荷に直結 |
| Logical reads | 1秒あたりの論理I/O回数 | Buffer Cache 効率の分子。Physical reads との比で判断 |
| Physical reads | 1秒あたりの物理I/O回数 | Logical reads の 10% 超なら Buffer Cache 不足の疑い |
| Parses | 1秒あたりのパース要求数 | Hard parses との比で SQL 共有効率を判定 |
| Hard parses | 1秒あたりのハードパース数 | Parses の数% 以下が正常。多いとバインド変数未使用 |
| Executes | 1秒あたりの SQL 実行回数 | Execute to Parse % の分子 |
| Transactions | 1秒あたりのトランザクション数 | Redo size / Transactions でトランザクションあたりの重さを把握 |
| Rollbacks | 1秒あたりのロールバック数 | Transactions に対して多い場合はエラー多発の兆候 |
| W/A MB processed | 1秒あたりの Work Area 処理量(MB) | 大きい場合はソート・ハッシュ操作が多い。PGA Advisory 確認 |
6. Instance Efficiency Indicators— インスタンス効率指標
何を表すか: Buffer Hit%・Library Hit%・Soft Parse%・Latch Hit%・Redo NoWait% など、SGA・ライブラリキャッシュの効率を一覧化。
- 読み方: Buffer ≥90%、Library ≥95%、Soft Parse ≥95%、Latch Hit ≥99% が一般的な目安。いずれかが閾値を下回ったセクションを深掘りする。
- 閾値・注意点: AWRと同じ指標だが「Optimal W/A Exec %」が追加。Execute to Parse % が低い場合はカーソル再利用が少なく、session_cached_cursors の引き上げや接続プールの見直しが有効な場合がある。
- 関連セクション: Latch Activity / Library Cache Activity / Shared Pool Statistics
- 使うシーン: 効率劣化のスクリーニング
| 項目名 | 意味 | 影響箇所・着目点(目安) |
|---|---|---|
| Buffer Nowait % | バッファ取得時に待機なしだった割合 | ≥99% が正常。低い場合はバッファ競合(Buffer Busy Waits) |
| Redo NoWait % | REDO バッファ書込時に待機なしの割合 | ≥99% が正常。低い場合は log_buffer 拡張を検討 |
| Buffer Hit % | 論理読込のうちキャッシュヒットした割合 | ≥90% が目安。低い場合は Buffer Cache サイズ不足または Full Scan 多発 |
| Optimal W/A Exec % | ソート/ハッシュ操作がメモリ内完結した割合(AWRにはない) | ≥95% が正常。低い場合は Temp 領域への書き出しが多い |
| Library Hit % | Library Cache のヒット率 | ≥95% が目安。低い場合は Shared Pool 不足またはハードパース多発 |
| Soft Parse % | 全パースのうちソフトパースだった割合 | ≥95% が目安。低い場合はバインド変数未使用または cursor_sharing の検討 |
| Execute to Parse % | パース1回あたりの実行回数比率 | 高いほどカーソル再利用率が良好。低い場合は session_cached_cursors の見直し |
| Latch Hit % | ラッチ取得成功率 | ≥99% が目安。低い場合は内部競合(Latch Activity 確認) |
| Parse CPU to Parse Elapsd % | パース時間のうち CPU が占める割合 | 低い場合はパース中に待機(ライブラリキャッシュ競合等)が多い |
| % Non-Parse CPU | 全 CPU 消費のうちパース以外の業務処理が占める割合 | ≥90% が正常。低い場合はパースコストが高い |
7. Shared Pool Statistics— Shared Pool 統計
何を表すか: Shared Pool の Memory Usage% / % SQL with executions>1 / % Memory for SQL w/exec>1 を Begin/End で表示。
- 読み方: Memory Usage が 80% 超で Shared Pool 逼迫に注意。% SQL w/exec>1 が低い場合は使い捨てSQL(リテラルSQL)が多い証拠。
- 閾値・注意点: 単独で判断せず Latch Activity / Library Cache と合わせて読む。Begin→End の変化が大きい場合はスナップ期間中に SQL の入れ替えが多かった。
- 関連セクション: Library Cache Activity / Shared Pool Advisory
- 使うシーン: ハードパース過多の傍証・Shared Pool 逼迫の確認
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| Memory Usage % | Shared Pool の使用率 | ≥90% でORA-4031(共有プール枯渇)リスク。80% 超は要注意 |
| % SQL with executions > 1 | 実行回数2回以上のSQL比率 | 低いほどリテラルSQL多発の証拠。cursor_sharing 検討 |
| % Memory for SQL w/exec > 1 | 再利用されているSQLが占めるメモリ比率 | 高いほど効率的なSQL共有ができている |
8. Top 5 Timed Events— Top 5 待機イベント
何を表すか: 全セッション(FG+BG)が待たされた上位5イベントを Time(s) 降順で表示。AWRの「Top 10 Foreground Events」に相当するが、バックグラウンドの Idle イベントも含まれる点が異なる。
- 読み方: Idle イベント(LGWR worker group idle / heartbeat redo informer / lreg timer / AQPC idle 等)は無視する。Idle を除いた上位が実際のボトルネック。
- 閾値・注意点: AWRと違い Wait Class の列がない。「%Total Call Time」で相対的な影響度を判定する。CPU time が上位にあれば CPU 支配型のワークロード。
- 関連セクション: Foreground Wait Events / Background Wait Events
- 使うシーン: ボトルネック調査の最初の入口
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| Event | 待機イベント名 | Idle イベントは無視。CPU time が上位なら CPU 支配型 |
| Waits | 待機発生回数 | Avg wait (ms) と掛け合わせて Time を確認 |
| Time (s) | 累積待機時間(秒) | ランキング基準。最大のものがボトルネック |
| Avg wait (ms) | 1回あたりの平均待機時間 | Avg が大 → 個別のウェイトが重い。回数少なくても影響大 |
| %Total Call Time | DB time に占める割合 | 30% 超のイベントがある場合は最優先で調査 |
9. Host CPU— ホストCPU使用率
何を表すか: OS全体のCPU使用率(User/System/Idle/WIO等)とLoad Average。
- 読み方: %WIO(I/O待機によるCPU時間)が高い場合はストレージのレイテンシ問題。%System が %User を超える場合はカーネル処理(システムコール過多)の可能性。
- 閾値・注意点: Begin/End 2点のみの瞬間値。OS Statistics セクションで期間中の統計を確認可能。Load Average が Cores 値を超えている場合は CPU 飽和。
- 関連セクション: OS Statistics / Instance CPU
- 使うシーン: OS レベルでの CPU 状況確認
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| Load Average (Begin/End) | OS のロードアベレージ(1分平均) | Cores 超えで CPU 飽和の可能性 |
| %User | ユーザモード CPU 使用率 | DB 処理の主成分。高い場合は SQL/PL-SQL のCPU使用量を確認 |
| %System | カーネルモード CPU 使用率 | %User を大きく超える場合はシステムコール過多の疑い |
| %Idle | CPU アイドル率 | 低い場合は OS 全体の CPU 枯渇 |
| %WIO | I/O 待機による CPU 時間の割合 | 高い(10%超)場合はストレージのレイテンシを確認 |
10. Instance CPU— DBインスタンスCPU使用率
何を表すか: Host Total / Busy 時間に対するこのインスタンスのCPU消費割合。
- 読み方: % of Busy CPU used for Instance で、同じホスト上の他プロセスとの競合を評価。%DB time waiting for CPU が 0 でない場合はリソースマネージャによる絞り込みが発生している。
- 閾値・注意点: Host Total time = Elapsed × CPUs で算出される理論値。% of time Host is Busy が 80% 超なら OS 全体として CPU 不足。
- 関連セクション: Host CPU / OS Statistics
- 使うシーン: DB がホスト CPU をどれだけ使っているか確認
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| Host: Total time (s) | Elapsed × CPUs の理論値 | Host Busy CPU の母数 |
| Host: Busy CPU time (s) | ホスト全体の CPU 使用時間 | Total に対する割合でOS全体の CPU 負荷を評価 |
| % of time Host is Busy | ホストCPU使用率 | 80% 超でOS全体が CPU 飽和 |
| Instance: Total CPU time (s) | このインスタンスが消費した CPU 時間 | Busy CPU に対する割合で他プロセスとの競合を評価 |
| % of Busy CPU used for Instance | Busy CPU のうちインスタンスの占有率 | 低すぎる場合は他プロセスが CPU を大量消費している |
| %DB time waiting for CPU (RM) | リソースマネージャによる CPU 待機割合 | 0% 以外はリソースマネージャが CPU を絞っている |
11. Virtual Memory Paging— 仮想メモリページング
何を表すか: 一部の OS 環境(Linux / HP-UX 等)で出力される STATSPACK 固有のセクション。KB paged out per sec / KB paged in per sec でメモリ不足によるスワッピング発生の有無を確認する。AWRには存在しない。
- 読み方: paged out が大きく paged in が小さい場合はメモリがOS外へ追い出されている(メモリ圧迫の予兆)。両方とも大きい場合はスワップが活発に発生している。
- 閾値・注意点: paged out / paged in は環境差が大きいため絶対値より傾向(増加中か)で判断する。継続的に大きい場合は SGA/PGA サイジングまたはサーバメモリの増設を検討。
- 関連セクション: Memory Statistics / OS Statistics
- 使うシーン: メモリ不足・スワッピング調査
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| KB paged out per sec | 1秒あたりにOSがスワップアウトしたメモリ量(KB) | 大きい場合はメモリ圧迫。SGA/PGA の削減またはメモリ増設を検討 |
| KB paged in per sec | 1秒あたりにスワップから読み戻したメモリ量(KB) | 大きい場合は実際のスワップアクセスが発生しておりI/Oに影響 |
12. Memory Statistics— メモリ統計
何を表すか: ホストメモリと SGA/PGA の使用量を Begin/End で比較。
- 読み方: SGA + PGA をホスト物理メモリで割った比率を確認。一般的な推奨上限は 50〜70%。PGA の Begin/End 差が大きい場合は並列処理や大量ソートが発生している。
- 閾値・注意点: % Host Mem used for SGA+PGA が高い場合は仮想メモリページングの発生リスクがある。Virtual Memory Paging セクションと合わせて確認する。
- 関連セクション: PGA Aggr Target Stats / Memory Dynamic Components / Virtual Memory Paging
- 使うシーン: メモリ割当の確認・スワッピングとの因果関係分析
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| Host Mem (MB) | サーバ物理メモリ総量 | SGA+PGA の母数。スナップ間で変化しない |
| SGA use (MB) | SGA 使用量(Begin/End) | ASMM による動的変更がない場合は固定。増加は許容範囲内か確認 |
| PGA use (MB) | 全プロセスの PGA 合計使用量(Begin/End) | スナップ間で増加している場合は並列処理や大量ソートが発生 |
| % Host Mem used for SGA+PGA | ホストメモリに占める DB メモリ比率 | 50〜70% が推奨上限。超過するとスワッピングリスク |