初めましての方もそうでない方も宜しくお願い致します。
レック・テクノロジー・コンサルティングのエンジニア「佐々木」にございます。
前回は、Oracleデータベース(以下、Oracle)の構成情報等、明示的に登録や変更を行った結果、
情報が格納されるデータ・ディクショナリ・ビューについて説明致しました。
今回は、データベース稼動状況確認の際に参照する動的パフォーマンス・ビューにつきまして、以下の通り説明させて頂きます。
・動的パフォーマンス・ビューとは?
・動的パフォーマンス・ビューで確認できる情報は?
・問合せる際の注意
・覚えておきたい動的パフォーマンス・ビュー
動的パフォーマンス・ビューとは?
Oracleはオープン※し使用され続けている間、特別なビューに稼動に関する情報を格納します。
このビューはリアルタイムに更新されるため「動的パフォーマンス・ビュー」と呼ばれます。
※詳細は「Oracleのファイルと起動」の回を参照
動的パフォーマンス・ビューはV$○○という形式で命名され、SYSユーザーまたはSYSDBAロールが付与されているユーザーのみがアクセスできます。
動的パフォーマンス・ビューで確認できる情報は?
上記、あるいは名前の通りではありますが、
動的パフォーマンス・ビューからは現在のパフォーマンス状況を把握するための情報を参照できます。
例えば、
・現在接続しているセッションの把握
・長時間実行されているSQLの特定
・現在までのメモリ使用状況の確認
・REDOログファイルの状態確認
・現在取得されているロック情報
等を調査する際に、動的パフォーマンス・ビューを参照します。
問合せる際の注意
・動的パフォーマンス・ビューでサポートされているのは、単純な問合せのみ
スクリプトで監視する際等、結合やgroup by、ソート処理が日常的に実施されていますが、これらは正式にサポートされておりません。もし結合やgroup byでの参照する場合には、「create table xxx as select~」の実行等でデータを複製しそちらでselectを発行することとなります。
・表示される値は、その時点までの累積値
V$には、オープンされてから問合せるまでの稼動情報が全て反映された形で格納されています。
そのため、ただ単発で問合せただけではパフォーマンスの変化を把握することは難しいものとなります。ピーク時間帯やあるSQLを実行したタイミング等、確認したい事象に関して前後二点でV$ビューを問合せ、その差分を確認する必要があります。
覚えておきたい動的パフォーマンス・ビュー
本項では、稼働状況の確認などで使用する基本的な動的パフォーマンス・ビューを紹介致します。
・v$bgprocess
バックグラウンド・プロセスに関する情報を表示します。
・v$database
制御ファイルからのデータベースに関する情報を表示します。
・v$datafile
制御ファイルからのデータ・ファイル情報を表示します。
・v$lock
現在Oracle データベースによって保持されているロック、およびロックまたは
ラッチに対する未処理の要求を表示します。
・v$pga_target_advice
PGA_AGGREGATE_TARGET パラメータの値が変更された場合に、パフォーマンスがどの程度上下するかの予測値を表示します。
・v$pgastat
PGA メモリー使用統計と、自動PGA メモリー・マネージャに関する統計を表示します。
・v$process
現在アクティブなプロセスの情報を表示します。
・v$session
カレント・セッションごとのセッション情報を表示します。
・v$session_event
セッションごとのイベントの待機情報を表示します。
・v$session_wait
アクティブ・セッションが待機しているリソースまたはイベントを表示します。
・v$sesstat
ユーザー・セッションについての統計情報を表示します。
・v$sga
システム・グローバル領域(SGA)のサマリー情報を表示します。
・v$sgastat
システム・グローバル領域(SGA)の詳細情報を示します。
・v$sql
共有SQL領域についての統計情報を表示します。
・v$sqlplan
ライブラリ・キャッシュにロードされる子カーソルごとの実行計画情報を表示します。
・v$sysstat
システム全体の統計情報を表示します。
・v$system_event
イベントの待機の合計の情報を表示します。
・v$transaction
システム内のアクティブ・トランザクションに関する情報を表示します。
※動的パフォーマンス・ビューの列等、詳細については「リファレンス」マニュアルに記載があります。
まとめ
・動的パフォーマンス・ビューには、Oracleがオープンされてからの稼動情報が累積的に格納されています。
・特定の時間帯や特定のSQL文などのパフォーマンスを把握するには、前後二点でV$ビューを問合せ、差分を取得する必要があります。
最後に
今回は、Oracleの稼動状況を把握する際に使用する動的パフォーマンス・ビューについてご紹介しました。最後のビュー一覧につきましては一旦眺める程度でいざ必要になった際にマニュアルと併せて詳細を確認頂くのが楽かも知れません。
なお、今回で情報源シリーズは終了となります。
次回はOracleが使用するメモリ領域(SGA)について説明させて頂きます。
以上、宜しくお願い致します。
RELATED ARTICLE関連記事
RELATED SERVICES関連サービス
Careersキャリア採用
LATEST ARTICLE
CATEGORY
- AWS (66)
- Azure (24)
- Databricks (18)
- GCP (27)
- Nutanix (14)
- Oracle Cloud Infrastructure(OCI) (19)
- Oracle Cloud VMware Solution(OCVS) (4)
- Oracle DB (92)
- Oracle Linux KVM (19)
- Python (3)
- Snowflake (22)
- Veeam Backup & Replication (13)
- インフラ (76)
- クラウド (137)
- コンテナ技術 (17)
- セキュリティ (22)
- データエンジニアリング (64)
- ネットワーク (21)
- 仮想基盤 (37)
- 生成AI (18)




