STATSPACK

Statspack_img.png
ORACLE のSTATSPACKユーティリティを使って、パフォーマンスの分析レポートの表示を行います。
定期的にスナップショットを作成しておくことで、詳細な分析レポートを作成することができます。
※クライアントのOracleバージョンと、接続先のOracleバージョンが異なる場合は実行できない場合があります。

■ STATSPACK実行前の準備
STATSPACKを実行する際には、あらかじめデータベース上にSTATSPACK専用のユーザーを作成している必要があります。
以下の手順にてSTATSPACK専用ユーザーを作成してください。

1. SQL*Plus を起動し、SYSユーザにてログインします。

2. {$ORACLE_HOME}/RDBMS/ADMINにある「spcreate.sql」スクリプトを実行します。

3. STATSPACK専用ユーザ(PERFSTAT)のパスワードを求めるプロンプトが表示されますので、パスワードを入力します。

4. STATSPACKユーザーのテーブル、インデックスを格納する表領域がプロンプトで求められますので、表領域名を入力します。

5. STATSPACKユーザーの一時表領域を求めるプロンプトが表示されますので、表領域名を入力します。
Object Browserにて、上記で作成したSTATSPACK専用ユーザでログインの上、STATSPACK画面を呼び出します。

※STATSPACKの実行は、あらかじめSTATSPACK専用ユーザーでログインの上、行う必要があります。

■ 設定項目

項目名 説明
取得 取得レベルを選択し、スナップショットを取得します。取得レベルには0~10までに5段階あり、レベルが大きくなるほど詳細情報が記録されます。それぞれの取得レベルに含まれる情報は以下の通りです。

LEVEL0...
基本統計情報、アドバイス情報

LEVEL5...
基本統計情報、アドバイス情報、SQL統計情報

LEVEL6...
基本統計情報、アドバイス情報、SQL統計情報、SQL詳細情報

LEVEL7...
基本統計情報、アドバイス情報、SQL統計情報、SQL詳細情報、セグメント情報

LEVEL10...
基本統計情報、アドバイス情報、SQL統計情報、SQL詳細情報、セグメント情報、ラッチ詳細情報
表示 選択したスナップショットより、分析レポートの出力を行います。2つのスナップショットを選択している場合のみ、実行可能です。
削除 選択したスナップショットを削除します。
終了 画面を閉じます。
データベース STATSPACKを実行するデータベースを選択します。
レポート出力実行ファイル
すべてを一度に削除するためのスクリプトファイルを指定します。
スクリプトファイルには、通常は「{$ORACLE_HOME}\RDBMS\ADMIN」下にある「spreport.sql」を指定してください。
レポート出力場所
レポートを出力するフォルダを選択します。
指定削除実行ファイル
選択したスナップショットを削除するためのスクリプトファイルを指定します。
スクリプトファイルには、通常は「{$ORACLE_HOME}\RDBMS\ADMIN」下にある「sppurge.sql」を指定してください。
全件削除実行ファイル
スナップショットをすべて削除するためのスクリプトファイルを指定します。すべてのスナップショットをすべて1度に削除するには、スナップショットの一覧上で右クリックし、「すべてのスナップショットを削除」を選択することで可能です。
スクリプトファイルには、通常は「{$ORACLE_HOME}\RDBMS\ADMIN」下にある「sptrunc.sql」を指定してください。

■ STATSPACKレポートの表示
[表示]ボタンを押すと、上記の[レポート出力場所]にレポートが生成され、下部ペインにレポート結果が表示されます。
各項目の意味は以下のとおりです。項目のハイライトされた個所をクリックすることでもポップアップで説明が表示されます。

項目名 説明
DataBase
インスタンス名やOracleバージョンなどの基本的な情報を表示します。
HostName
ホスト名やプラットフォーム、CPU数など、ホスト端末に関する情報を表示します。
Snapshot
開始・終了スナップショットに関する情報を表示します。
CacheSizes
データベース・バッファ・キャッシュ等の設定値を確認できます。
LoadProfile
LoadProfileセクションから、システムの負荷特性が分かります。この項目の情報を定期的に記録し、システム負荷の基準を策定することで、負荷変動を認識できます。
InstanceEfficiencyIndicators
バッファ・キャッシュ・ヒット率やライブラリ・キャッシュ・ヒット率などの計算結果を表示します。
Top5TimedEvents
開始・終了スナップショット間で、特に待機時間が長かった待機イベントのTop5が表示され、パフォーマンスにおけるボトルネックの確認を行うことができます。
HostCPU
ホストCPUに関する情報を表示します。
InstanceCPU
インスタンスCPUに関する情報を表示します。
MemoryStatistics
インスタンスCPUに関する情報を表示します。ホストの物理メモリーとSGA,PGAのメモリー使用量、ホストメモリーに対するSGA,PGAのメモリー使用割合を表示します。
TimeModelSystemStats
ホストの物理メモリーとSGA、PGAのメモリー使用量、ホストメモリーに対するSGA、PGAのメモリー使用割合を表示します。
WaitEvents
待機イベント情報を表示します。パフォーマンスの悪化の原因分析に使用します。
BackgroundWaitEvents
バックグラウンド・プロセスの待機イベント情報を表示します。
ForegroundWaitEvents
フォアグラウンド・プロセスの待機イベント情報を表示します。
WaitEventHistogram
各待機イベントごとの待機時間を表示します。
SQLorderdbyCPU
CPU時間が最も長かったSQLと、そのSQL実行におけるパフォーマンス・データが表示されます。
SQLorderedbyElapsedtimeforDB
処理時間が最も長かったSQLと、そのSQL実行におけるパフォーマンス・データが表示されます。
SQLorderdbyGets
アクセスブロックの多いSQLと、そのSQL実行におけるパフォーマンス・データが表示されます。
SQLorderdbyReads
ディスク物理読込みの多いSQLと、そのSQL実行におけるパフォーマンス・データが表示されます。
SQLorderedbyExecutions
実行回数の多いSQLと、そのSQL実行におけるパフォーマンス・データが表示されます。
SQLorderedbyParseCalls
解析回数の多いSQLと、そのSQL実行におけるパフォーマンス・データが表示されます。
InstanceActivityStats
開始・終了スナップショット間のシステム統計情報を表示します。
OSStatistics-detail
開始・終了スナップショット間のOSの詳細を表示します。
IOStatbyFunction-summary
I/Oリクエストと割合を表示します。
TablespaceIOStats
各表領域ごとの物理読込みと物理書き込みの合計数が表示され、ディスクI/Oの集中している表領域を特定できます。
FileIOStats
各データファイルごとの物理読込みと物理書込みの合計数が表示され、ディスクI/Oの集中しているデータファイルを特定できます。
FileReadHistogramStats
全てのシングル・ブロック読み取りをファイル別のヒストグラムで示します。
InstanceRecoveryStats
インスタンス・リカバリで必要なREDOブロック数などの情報を表示します。
MemoryDynamicComponents
メモリーサイズ変更情報を表示します。
BufferPoolAdvisory
データベース・バッファ・キャッシュのサイズ設定に関するアドバイスを表示します。SizeforEstimateのサイズに変更した際の、物理的な読込みブロック数の変化を表示します。
BufferPooStatistics
バッファ・プールごと(DEFAULT,KEEP,RECYCLE,ブロック・サイズごと)のバッファ・キャッシュ・ヒット率などを表示します。
PGA Aggr Target Stats
開始スナップショットと終了スナップショット作成時点のPGAメモリーの情報を表示します。
PGA Aggr Target Histogram
各SQL作業領域でoptimalサイズ、onepassサイズ、multipassサイズでの実行が何回されたかを表示します。
PGA Memory Advisory
PGA_AGGREGATE_TARGETパラメータで指定するPGAのサイズを見積れます。
Process Memory Summary Stats
PGA割当と使用量を表示します。
Top Process Memory (by component)
各プロセスに割当てられたメモリー量と使用量を表示します。
Latch Activity
ラッチ統計が表示され、競合しているラッチを特定できます。
Segments by Logical Reads
アクセスブロックの多かったセグメントの統計情報を表示します。
Segments by Physical Reads
物理ブロック読込みの多かったセグメントの統計情報を表示します。
Dictionary Cache Stats
ディクショナリ・キャッシュの詳細情報を表示します。
Library Cache Activity
ライブラリ・キャッシュの統計を表示します。
Rule Sets
ルール・セットに関する情報を表示します。
Shared Pool Advisory
V$SHARED_POOL_ADVICEビューの情報をもとに、共有プールのサイズ設定に関するアドバイスを提供します。
SGA Target Advisory
V$SGA_TARGET_ADVICEビューの情報をもとに、共有プールのサイズ設定に関するアドバイスを提供します。
SGA Memory Summary
SGAのサマリー情報を表示します。
SGA breakdown difference
SGA内の各領域のサイズを詳細に表示します。
SQL Memory Statistics
カーソルのメモリー使用量を表示します。
init.ora Parameters
デフォルト値以外に設定された初期化パラメータを表示します。