Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

サポートのトップエンジニアが語るワンランク上のStatspack活用術!

2018/09/04 06:00

 StatspackはOracle Database 8i から提供されているデータベース性能診断ツールです。追加費用なし、かつエディションの制限なしに利用可能なため、だれでも使用できます。リリースから10年以上が経過していることもあり、一般サイトやメーカー公開情報でもStatspackレポートの一般的な見方や読み解くポイントなどの情報が数多く紹介されています。今回はそういった情報ではあまり触れられないワンランク上の活用方法や運用上の注意点をご紹介します。

Statspackとは

 Statspackはデータベースの稼働統計をレポーティングするツールです。デフォルトではインストールされていないため、使用に当たってはまずインストール作業が必要です。インストール手順はOracle Database構築済み環境の $ORACLE_HOME/rdbms/admin 配下に配置されているspdoc.txt に記載されています。このドキュメントを参照してインストールを行ってください。

 Statspackでレポーティングするためには、前段階としてSnapshot(スナップショット)と呼ばれる情報を取得・保存しておく必要があります。Snapshotは、取得時点でのデータベースの稼働情報です。レポートでは、任意の2つの時点のSnapshotを指定し、それらの差分から該当時間帯のデータベースの稼働統計を出力します。30分~1時間程度の定期的な間隔でSnapshotを取得・保存しておき、確認したい時間帯のレポートを出力して稼働状況を確認したり、パフォーマンス問題の調査に用いるといった運用が一般的です。

 図1はStatspackレポートの取得イメージです。9:00~18:00の間で3時間置きにSnapshotを取得した場合の例です。この場合9:00~12:00、12:00~15:00といった単体のSnapshot間でのレポート出力も可能ですが、9:00~18:00の範囲のように複数のSnapshotを跨いだレポート出力も可能です。

図1:Statspackレポートの取得イメージ
図1:Statspackレポートの取得イメージ

 Statspackレポートの出力方法は以下の通りです。

 コマンド1:Statspackレポートの出力方法
Statspackインストール時に指定したStatspack用データベースユーザ(perfstat)で接続し、以下のスクリプトを実行します。
SQL> @$ORACLE_HOME/rdbms/admin/spreport.sql
 ※1 実行後にレポートの対象とするSnapshotの範囲指定が求められます。
 ※2 RAC環境ではインスタンスごとに実行します。

 Statspackレポートの一般的な見方についてはインターネット上にも多数情報が公開されていますので、詳細はそちらに譲るとして、今回はStatspackのさらなる活用方法や実運用上の注意点を紹介します。

 ※以下の記事でStatspackとV$ビューを組み合わせたトラブル調査方法も紹介していますので、併せてご参照ください。
 Oracle Database のパフォーマンスダウン発生に備えたV$ビューの定期取得と調査方法

※この続きは、会員の方のみお読みいただけます(登録無料)。


※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 柿沼 修(カキヌマオサム)

    株式会社アシスト サービス事業部 2006年 株式会社アシスト入社後、サポートセンターにてOracle製品のサポートエンジニアとして重篤障害などのトラブル対応をメインに2000件以上対応。フィールドエンジニアへの出向を経て、サポートセンターに復帰。現在は問い合わせを対応するメン...

バックナンバー

連載:DB Press

もっと読む

All contents copyright © 2007-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5