データベースの稼働状況を診断共有するサイト パフォーマンスセラピー
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章 待機イベントを理解してチューニングをしよう