データディクショナリビューと動的パフォーマンスビュー
データディクショナリビューについて
データディクショナリビューは、データディクショナリと呼ばれるOracle内部の管理情報を格納する特殊な表を基にして作られたビューです。
読みやすい形式でOracle内部の管理情報を参照できます。
→SELECT文で参照できます。
以下、主なデータディクショナリビューです。
| ビュー名 | 確認できる情報 | 関連ビュー |
|---|---|---|
| DBA_TABLES | 表の情報 | ALL_TABLES,USER_TABLES |
| DBA_INDEXES | 索引の情報 | ALL_INDEXES,USR_INDEXES |
| DBA_VIEWS | ビューの情報 | ALL_VIEWS,USER_VIEWS |
| DBA_SEQUENCES | シーケンスの情報 | ALL_SEQUENCES,USER_SEQUENCES |
| DBA_SYNONYMS | シノニムの情報 | ALL_SYNONYMS,USER_SYNONYMS |
| DBA_CONSTRAINTS | 制約の情報 | ALL_CONSTRAINTS,USER_CONSTRAINTS |
| DBA_USERS | ユーザーの情報 | |
| DBA_TABLESPACES | 表領域の情報 | |
| DBA_DATA_FILES | データファイルの情報 | |
| DBA_FREE_SPACE | データファイルの空き情報に関する情報 |
データディクショナリビューは、表示対象となる管理情報の範囲に応じて以下の3つに分類されます。
①DBA_:データベース全体の管理情報が表示される。権限を持つユーザーのみがアクセス可能です。
②ALL_:問合せを実行したユーザーがアクセスできる範囲の管理情報が表示されます。
③USER_:問合せを実行したユーザーが所有する範囲の管理情報が表示されます。
動的パフォーマンスビューについて
動的パフォーマンスビューは、制御ファイルに格納された内部管理情報、またはインスタンス(SGA)で保管している内部管理情報を確認するためのビューです。
ビュー名は「V$」から始まります。
→SELECT文で参照できます。
以下、主な動的パフォーマンスビューです。
| ビュー名 | 確認できる内部管理情報 |
|---|---|
| V$PARAMETER | 初期化パラメータの設定値 |
| V$SGA | SGAのサマリー情報 |
| V$SGAINFO | SGAのサイズ情報(様々なSGAコンポーネントのサイズなど) |
| V$SESSION | インスタンス内の全セッションの情報 |
| V$DATAFILE | 制御ファイルに格納されたデータファイルの情報 |
| V$TEMPFILE | 制御ファイルに格納された一時ファイルの情報 |
| V$INSTANCE | インスタンスの情報 |
| V$SQL | 共有プールにキャッシュされているSQLの情報 |
| V$SYSSTAT | インスタンスの様々な稼働統計情報 |
| V$SESSTAT | セッションの様々な稼働統計情報 |
データディクショナリビューと動的パフォーマンスビューの比較
データディクショナリビューと動的パフォーマンスビューは、Oracle内部の管理情報をSQLを用いてアクセス可能という点で類似していますが、異なる点もあります。
データディクショナリビューと動的パフォーマンスビューの比較は以下の表のとおりです。
| データディクショナリビュー | 動的パフォーマンスビュー | |
|---|---|---|
| ビュー名 | DBA_ or ALL or USER_から始まる | V$から始まる |
| 元になるデータの格納先 | データディクショナリ | 制御ファイル or インスタンス(SGA) |
| データの読み取り一貫性 | 保証される | 保証されない |
| ビューを参照可能な起動状態 | OPEN状態のみ | OPEN状態以外からでも参照可能 |
今回は、データディクショナリビューと動的パフォーマンスビューについて説明しました。
参考文献…オラクルマスター教科書 Silver DBA Oracle Database Administration I 第3章










