Statspackとは
Statspack設定
statspackでの情報収集
statspackレポートの出力
便利スクリプト
Oracleチューニング講座
第4章 動的パフォーマンス・ビュー (V$ビュー)とは
Oracleデータベースのパフォーマンスに関する情報を取得するためには、
動的パフォーマンス・ビューを活用する必要があります。
動的パフォーマンス・ビューとは
動的パフォーマンス・ビューはデータベースがオープンされている間、データベースの稼動状況を示す情報が継続的に更新されます。これらのビューは通常のデータベース表のように見えますが、内部ディスク構造およびメモリー構造のデータが表示されています。たとえば、「発生した競合とその待ち時間」、「 各ファイルごとのアクセス数」などの情報です。
動的パフォーマンス・ビューにはV$という接頭辞がつき、SYSユーザーまたはSYSDBAロールが付与されているユーザーのみがアクセスできます。
使用上の注意
多くの動的パフォーマンス・ビューは、データベースがオープンされてから継続的に更新された累積値を示します。そのため、ある時点のみの値を参照するのでなく、以下の例のように問題となる期間中の統計の変化を調べる必要があります。
◆ 動的パフォーマンス・ビューを使用した情報収集の例
情報収集のための時間間隔を大きくすると、システムの問題がぼやけてしまう(局所的に負荷の高い問題が発生していても、収集間隔が長い(12時間など)と、局所的な負荷の情報が隠れてしまう)可能性があるため、ピーク時に15分から30分ぐらいの間隔で情報収集することをお薦めします。
Statspackで情報を取得する場合、定期的な状況把握であれば1時間ごと、負荷のピークなどの原因調査する場合はより短い間隔での収集が必要となります。(
参照:Statspackとは
)
NOTE
:
動的パフォーマンス・ビューの情報はデータベースを停止するとリセットされます。
表1にてチューニングで主に使用する動的パフォーマンス・ビューの説明を記します。
表1 チューニングで使用する主な動的パフォーマンス・ビュー
ビュー名
説明
v$active_session_history
1秒に1回取得されるアクティブなデータベース・スナップショットを示す
v$bgprocess
バックグラウンド・プロセスの詳細を示す
v$bh
SGAに現在常駐する全てのブロックのデータ・オブジェクトIDを示す
v$buffer_pool_statistics
バッファ・プールごとの統計を示す
v$datafile
各データ・ファイルの詳細情報を示す
v$db_cache_advice
バッファ・キャッシュを変更した場合の物理読取り回数の推定値を示す
v$db_object_cache
ライブラリ・キャッシュ内にキャッシュされているオブジェクトを示す
v$dispatcher
ディスパッチャ・プロセスの詳細情報を示す
v$filestat
ファイルの読込みや書込みに関する統計情報を示す
v$latch
ラッチ別の統計情報を示す
v$librarycache
ライブラリ・キャッシュの統計情報を示す
v$lock
現在保持されているロックに関する詳細を示す
v$open_cursor
オープンしているカーソルに関する詳細を示す
v$osstat
OSから取得したシステム使用率統計情報を示す
v$parameter
各セッションで現在有効になっているパラメータ値を示す
v$pga_target_advice
PGA_AGGREGATE_TARGETを変更したときの予測値を示す
v$pgastat
PGAの使用状況およびPGAメモリー自動調整に関する統計情報を示す
v$process
現在アクティブなプロセスの情報を示す
v$resource_limit
リソースのパラメータ設定値や使用状況を示す
v$rollname
ロールバック・セグメント番号とその名前を示す
v$rollstat
ロールバック・セグメントの統計情報を示す
v$rowcache
データディクショナリ・キャッシュ内の統計情報を示す
v$segment_statistics
セグメント・レベルの統計情報を示す
v$session
現行セッションごとのセッション情報を示す
v$session_event
セッションごとのイベント待機情報を示す
v$session_wait
現在セッションが待機しているリソースやイベントを示す
v$sesstat
セッションごとの統計値を示す
v$sga
SGA内の主な領域のサマリー情報を示す
v$sgastat
SGAの詳細情報を示す
v$shared_pool_advice
ライブラリ・キャッシュ・サイズを変更したときの予測値を示す
v$shared_pool_reserved
共有プール内の予約プール領域の詳細情報を示す
v$shared_server_monitor
共有サーバー・プロセスに関する詳細情報を示す
v$sort_segment
一時表領域で作成された一時セグメントに関する情報を示す
v$sort_usage
一時セグメントを使用している各セッションごとの詳細情報を示す
v$sql
共有SQL領域についての統計情報を示す
v$sql_workarea
SQLに使用されている個々のSQL作業領域に関する情報を示す
v$sql_workarea_active
現在アクティブなSQL作業領域を示す
v$sql_workarea_histogram
様々なサイズのSQL作業領域グループについて、作業領域実行統計を示す
v$sqlarea
共有SQL領域についての統計情報を示す
v$sqlplan
共有プール内の解析済みSQLの実行計画を示す
v$statname
統計番号と統計名を示す
v$system_parameter
インスタンスで現在有効になっているパラメータ値を示す
v$sys_time_model
様々な操作に対してセッション全体に蓄積された時間を示す
v$sysstat
システム全体の統計情報を示す
v$system_event
イベントごとの待機情報を示す
v$tempseg_usage
一時セグメントを使用している各セッションごとの詳細情報を示す
v$transaction
アクティブなトランザクションの詳細情報を示す
v$undostat
10分間隔でUNDOに関する情報を示す
v$waitstat
ブロック競合の統計情報を示す
第5章 待機イベントを理解してチューニングをしよう