Instance Activity と IO Stats セクションは、データベースが「どれだけ働いたか」の詳細な証跡です。Wait Events で「何で待っているか」が分かれば、次は「どこで I/O が発生しているか」「どれほどの規模か」をここで確認します。
1. Instance Activity Stats— インスタンスアクティビティ統計
何を表すか: V$SYSSTAT 由来の全カウンタを Total / per Second / per Trans で表示。データベース全体の動作量の詳細な証跡。
- 読み方: 主要指標は Load Profile で既に把握できる。ここでは「細部の裏付け」に使う。physical reads direct / consistent gets / db block changes 等でワークロードの詳細を確認。
- 閾値・注意点: カウンタ数が多く全部読む必要はない。問題の裏付けを探す際に特定カウンタをピンポイントで参照する。
- 関連セクション: Load Profile / Foreground Wait Events
- 使うシーン: 特定の挙動(REDO量・パース回数・スキャン種類)の詳細確認
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| session logical reads | 論理読込ブロック数(Buffer Cache アクセス合計) | Load Profile の Logical reads/sec と照合。一致すれば正確 |
| physical reads | ディスクからの物理読込ブロック数 | physical reads direct との差=Buffer Cache 経由の物理読込 |
| physical reads direct | Buffer Cache をバイパスした直接読込数 | 大きい場合はパラレルスキャンや DBMS_STATS 等のダイレクトパス読込 |
| physical writes | 物理書込ブロック数(DBWR が担当) | DBWR の書込量。physical reads direct writes と合わせて確認 |
| redo size | 生成した REDO バイト数 | Load Profile の Redo size/sec と照合。大量 UPDATE/INSERT の指標 |
| redo writes | LGWR のディスク書込回数 | redo size / redo writes で 1 回あたりの書込量を算出 |
| parse count (total) | パース呼び出し合計回数 | Load Profile の Parses/sec と照合 |
| parse count (hard) | ハードパース(SQL 新規解析)回数 | Load Profile の Hard parses/sec と照合。高いと Shared Pool 消費増 |
| execute count | SQL 実行回数合計 | Load Profile の Executes/sec と照合 |
| table scans (long tables) | 大きなテーブルのフルスキャン回数 | 0 以外はフルスキャンが発生している証拠。SQL Statistics と照合 |
| table scans (direct read) | ダイレクトパス経由のテーブルスキャン数 | パラレルスキャンや DBMS_STATS 由来が多い |
| sorts (memory) | PGA 内で完結したソート件数 | sorts (disk) と比較。memory が 100% なら PGA サイズ十分 |
| sorts (disk) | Temp 領域にスピルしたソート件数 | 0 以外は PGA 不足の可能性。PGA Advisory と照合 |
| user commits | コミット回数 | Load Profile の Transactions/sec と照合 |
| user rollbacks | ロールバック回数 | 多い場合はエラーや競合が発生している可能性 |
2. OS Statistics / OS Statistics - Detail— OS統計
何を表すか: OSレベルの CPU 使用時間(centiseconds)・VM ページング量・物理メモリ・CPU 構成等。OS Statistics - Detail はスナップごとの時系列データ。
- 読み方: BUSY_TIME / (BUSY_TIME + IDLE_TIME) でCPU使用率を算出。IOWAIT_TIME が高いとI/O起因のCPU消費あり。
- 閾値・注意点: 値は centiseconds 単位。VM_OUT_BYTES が VM_IN_BYTES より大幅に大きい場合はページアウトが多く、物理メモリ不足の兆候となる。Virtual Memory Paging セクションと照合する。
- 関連セクション: Host CPU / Virtual Memory Paging
- 使うシーン: OS全体のCPU・メモリ状況の詳細確認
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| BUSY_TIME | CPU がビジー状態だった時間(centiseconds) | Report Header の Host CPU % Busy と照合。÷100 で秒換算 |
| IDLE_TIME | CPU がアイドルだった時間(cs) | BUSY / (BUSY + IDLE) でホスト CPU 使用率を算出 |
| IOWAIT_TIME | I/O 待機中に CPU がアイドルだった時間(cs) | 高い場合はストレージ I/O がボトルネック。WIO % と照合 |
| SYS_TIME | カーネルモードで消費した CPU 時間(cs) | 極端に高い場合はシステムコール・割込が多い |
| USER_TIME | ユーザモードで消費した CPU 時間(cs) | Oracle プロセスの CPU 消費の主体。DB CPU と対応 |
| VM_IN_BYTES | スワップイン(ページイン)したバイト数 | ページイン量。小さいほど物理メモリが十分 |
| VM_OUT_BYTES | スワップアウト(ページアウト)したバイト数 | 大きい場合は物理メモリ不足。Virtual Memory Paging と照合 |
| PHYSICAL_MEMORY_BYTES | サーバ搭載物理メモリ総量(バイト) | SGA + PGA の合計との比較でメモリ余裕を確認 |
| NUM_CPUS | 論理 CPU 数 | AAS(平均アクティブセッション)と比較してCPU飽和を判断 |
3. IO Stat by Function— 機能別I/O統計
何を表すか: I/O を Oracle の内部機能(Direct Reads / Buffer Cache Reads / LGWR / Others)に分類し、Data Volume・Requests・Avg Tm を表示。AWRの「IOStat by Function」に相当。
- 読み方: Data Volume(Read+Write)が最大の機能が I/O の主体。Wait Count と Avg Tm(ms) でその機能の待機状況を確認。
- 閾値・注意点: STATSPACK の IO Stat by Function は Summary と Detail の2段構成。Summary で全体像を、Detail で Small/Large Read/Write の内訳を確認。
- 関連セクション: Tablespace IO Stats / Foreground Wait Events (direct path read)
- 使うシーン: I/O 負荷の機能別分類。パラレルスキャンや DBMS_STATS 実行中のダイレクトパス読込量確認
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| Function Name | I/O を行った Oracle 内部機能名 | Direct Reads / Buffer Cache Reads / LGWR / DBWR / Others 等 |
| Read Volume (MB) | 読込データ量(MB) | 最大の Function が I/O の主体。SQL Statistics のランキングと照合 |
| Read Requests/s | 読込リクエスト数/秒 | スループット。Tablespace IO Stats の Reads/s と合計が一致 |
| Write Volume (MB) | 書込データ量(MB) | LGWR は REDO 書込量。DBWR はデータファイル書込量 |
| Write Requests/s | 書込リクエスト数/秒 | LGWR の書込頻度は redo writes/s と対応 |
| Wait Count | I/O 完了待機発生回数 | 多い Function がI/O待機の主体 |
| Avg Tm (ms) | I/O リクエストの平均応答時間 | 10ms 超でストレージ遅延を疑う。File Read Histogram と照合 |
4. Tablespace IO Stats— テーブルスペース別I/O統計
何を表すか: テーブルスペース単位の Reads・Avg Reads/s・Avg Read(ms)・Avg Blks/Rd・Writes・Buffer Waits を集計。I/O の偏在を検出する。
- 読み方: Reads が最大のテーブルスペースが I/O のホットスポット。Avg Rd(ms) が 10ms 超えはストレージ遅延の可能性。Blks/Rd が大きければマルチブロック読込(フルスキャン)多め。
- 閾値・注意点: Buffer Waits が 0 なら Buffer Busy Waits はここから発生していない。Reads/s と Writes/s で Read 主体 / Write 主体のワークロード性質を判断。
- 関連セクション: File IO Stats / Segments by Physical Reads
- 使うシーン: I/O ホットスポットのテーブルスペース特定
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| Tablespace | 表領域名 | 業務データ・UNDO・TEMP・SYSTEM 等に分類して確認 |
| Reads | 物理読込ブロック数 | 最大の表領域が I/O のホットスポット。Segment 統計と照合 |
| Av Reads/s | 平均読込リクエスト数/秒 | スループットの観点。IOPS の確認に使用 |
| Av Rd(ms) | 平均単一ブロック読込時間(ミリ秒) | 10ms 超はストレージ遅延の可能性。正常は 1〜5ms 以内 |
| Av Blks/Rd | 1リクエストあたり平均読込ブロック数 | 大きいほどマルチブロック読込(フルスキャン)が多い |
| Writes | 物理書込ブロック数 | DBWR の書込量。更新量の多い表領域を特定 |
| Writes/s | 平均書込リクエスト数/秒 | — |
| Buffer Waits | バッファ待機(Buffer Busy Waits)発生回数 | 0 超えはホットブロック競合の可能性。Segment by BBW と照合 |
5. File IO Stats— ファイル別I/O統計
何を表すか: データファイル単位の Reads・Avg Rd(ms)・Mx Rd Bkt・Blks/Rd・Writes・Buffer Waits。テーブルスペース内のファイル偏在を検出する。
- 読み方: 同一テーブルスペース内でファイルごとの Reads が大きく偏っていれば特定ファイルへの集中アクセスがある。Mx Rd Bkt(最大単一ブロック読込時間バケツ)で最悪応答時間を確認。
- 閾値・注意点: 複数データファイルで I/O が均等分散しているほど良好な構成。特定ファイルへの集中は拡張時のファイル追加や ASM への移行を検討する契機となる。
- 関連セクション: Tablespace IO Stats / File Read Histogram Stats
- 使うシーン: ファイル単位のI/O偏在・ストレージ負荷分散確認
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| Tablespace / File | 表領域名とデータファイルパス | 同一表領域内でのファイル間 I/O 分散を確認 |
| Reads | 物理読込ブロック数 | 特定ファイルへの集中がないか確認 |
| Av Reads/s | 平均読込リクエスト数/秒 | I/Oスループット |
| Av Rd(ms) | 平均単一ブロック読込時間 | 10ms超でストレージ遅延。ファイル間で差がある場合は特定ディスクの問題 |
| Mx Rd Bkt | 最大単一ブロック読込のバケツ番号 | 最悪ケースのレイテンシ。File Read Histogram Stats で詳細確認 |
| Av Blks/Rd | 1リクエストあたり平均読込ブロック数 | 大きいほどマルチブロック読込多め |
| Writes | 物理書込ブロック数 | DBWR書込量。ファイル間で均等かどうかを確認 |
| Buffer Waits | バッファ待機発生回数 | 0超えはBuffer Busyの可能性。特定ファイルに集中していれば要調査 |
6. File Read Histogram Stats— ファイル読込ヒストグラム
何を表すか: 単一ブロック読込の時間分布を、ファイル単位で 0-2ms / 2-4ms / 4-8ms / 8-16ms / 16-32ms / 32ms+ のバケツで集計。
- 読み方: 全ファイルの単一ブロック読込が 0-2ms バケツに集中していれば I/O 応答性は良好。32ms+ に値があるファイルは要調査。
- 閾値・注意点: Tempfile は除外される。I/O 問題のある環境では 16ms+ / 32ms+ に値が集中する。すべて 0 のファイルは単一ブロック読込が発生していない(マルチブロック読込のみ)。
- 関連セクション: File IO Stats / Wait Event Histogram (db file sequential read)
- 使うシーン: ストレージの物理I/O応答性確認・SLA 検証
| 項目名 | 意味 | 影響箇所・着目点 |
|---|---|---|
| Tablespace / File | 表領域名とデータファイルパス | 特定ファイルだけレイテンシが高い場合はそのディスク/LUN に問題 |
| 0-2ms バケツ | 0〜2ms 以内に完了した単一ブロック読込の件数 | ほぼここに集中するのが正常。SSDやHigh-IOPS環境では全量ここに収まる |
| 2-4ms バケツ | 2〜4ms で完了した件数 | 一部の値はHDD環境では正常範囲 |
| 4-8ms バケツ | 4〜8ms で完了した件数 | 割合が高い場合はストレージ負荷が高め |
| 8-16ms バケツ | 8〜16ms で完了した件数 | 頻繁に出現する場合はI/O性能問題の兆候 |
| 16-32ms バケツ | 16〜32ms で完了した件数 | ストレージ遅延が深刻化しているサイン |
| 32ms+ バケツ | 32ms 超で完了した件数 | 重大な I/O 遅延。db file sequential read 待機時間との照合が必要 |