HOME > データディクショナリ編
データディクショナリビュー
データディクショナリビューとはデータベース内のオブジェクト(表やビュー、索引、プロシージャなどなど)や表領域、ユーザ、権限などデータベースに係わる様々な情報をテーブル形式で取得することができるものです。
データディクショナリの種類
データディクショナリには大きく分けて「DBA_」で始まるもの、「ALL_」で始まるもの、「USER_」で始まるものとその他のものがあります。
大まかに言うと、取得できる情報の範囲が違うということです。ここで紹介するデータディクショナリビューはほんの一部ですので、どんなものがあるか見てみたい方は、以下のSQLを実行してみてください。
- データディクショナリの一覧を表示する
- SELECT TABLE_NAME FROM DICTIONARY;
表示できない場合は、ディクショナリを作成していない可能性があります。
作成用のスクリプトは「%ORACLE_HOME%\rdbms\admin\catalog.sql」です。
(完了まで30分ぐらいかかります。実行は自己責任でお願いします。)
種類 | 説明 |
---|---|
DBA_* | データベース内全てのオブジェクトに関する情報 |
ALL_* | 自分がアクセスできるオブジェクトに関する情報 |
USER_* | 自分の所有するオブジェクト(自スキーマのオブジェクト)に関する情報 |
その他 | セッションやロール、言語環境に関する情報 |
主要データディクショナリ
D・A・Uはそれぞれ、DBA_、ALL_、USER_を表します。「*」マークがついているところの接頭辞のデータディクショナリビューは存在します。
例えば、表に関する「TABLES」は、「DBA_TABLES」「ALL_TABLES」「USER_TABLES」の3種類のデータディクショナリビューがあるということです。
データディクショナリはテーブル(表)なので、select文で値を参照できますし、descコマンドでカラム名を取得することもできます。
興味があるデータディクショナリをぜひSELECTしてみてください。(^^
例はこちらにあります→オブジェクト情報編1
D | A | U | 表名 | 説明 |
---|---|---|---|---|
* | * | * | CATALOG | 表・ビュー・索引・シノニムの情報を調べる |
* | * | * | COL_COMMENTS | 表の列に付けられたコメント情報を調べる(便利!) |
* | * | COL_PRIVS_MADE | 表の列にアクセスできるユーザを調べる | |
* | * | COL_PRIVS_RECD | アクセスできるスキーマの表の列を調べる | |
* | * | * | CONSTRAINTS | 制約の情報を調べる |
* | * | * | CONS_COLUMNS | 制約が定義されている列の情報を調べる |
* | DATA_FILES | データファイルの情報を調べる | ||
* | * | * | DB_LINKS | データベースリンクの情報を調べる |
* | * | * | ERRORS | 解決されていないエラー情報を調べる |
* | * | EXTENTS | セグメントに割り当てられたエクステントの情報 | |
* | * | FREE_SPACE | 表領域内の使用可能エクステント情報 | |
* | * | * | INDEXES | 索引の情報 |
* | * | * | IND_COLUMNS | 索引がひも付いている表・列を調べる |
* | * | * | MVIEW | マテリアライズドビューの情報 |
* | * | * | OBJECTS | オブジェクトの情報 |
* | * | * | PROCEDURES | プロシージャに関する情報 |
* | PROFILES | プロファイルに関する情報 | ||
* | ROLES | ロールに関する情報 | ||
* | * | ROLE_PRIVS | ユーザやロールに付与されたロールを調べる | |
* | * | * | SOURCE | ストアドやファンクションのソースを確認する(便利!) |
* | * | SEGMENTS | セグメントに割り当てられたエクステントとブロック数を調べる | |
* | * | * | SEQUENCES | シーケンスに関する情報 |
* | * | * | SYNONYMS | USER_:プライベートシノニムを確認する ALL_:パブリックシノニムを確認する DBA:全てのシノニムを確認する |
* | * | SYS_PRIVS | ユーザとロールに付与されたシステム権限の情報を示す | |
* | * | * | TABLES | 表に関する情報 |
* | * | TABLESPACES | 表領域に関する情報 | |
* | * | * | TAB_COLUMNS | 表の列に関する情報 |
* | * | * | TAB_COMMENTS | 表に付けられたコメントに関する情報(便利!) |
* | * | TAB_PRIVS_MADE | スキーマにアクセスできるユーザを調べる | |
* | * | TAB_PRIVS_RECD | アクセスできるスキーマを調べる | |
* | TEMP_FILES | 一時表領域に属するファイル情報を調べる | ||
* | * | * | TRIGGERS | トリガーに関する情報 |
* | * | TS_QUOTAS | ユーザの表領域に対する領域割り当て制限情報 | |
* | * | * | TYPES | タイプに関する情報 |
* | * | * | USERS | ユーザに関する情報 |
* | * | * | VIEWS | ビューに関する情報 |
その他データディクショナリ
表名 | 説明 |
---|---|
ROLE_ROLE_PRIVS | ロールに付与されたロールを調べる |
ROLE_SYS_PRIVS | ロールに付与されたシステム権限を調べる |
ROLE_TAB_PRIVS | ロールに付与されたオブジェクト権限を調べる |
SESSION_PRIVS | 現在のセッションで使用可能なシステム権限を調べる |
SESSION_ROLES | 現在のセッションで使用可能なロールを調べる |
NLS_DATABASE_PARAMETERS | |
NLS_INSTANCE_PARAMETERS | |
NLS_SESSION_PARAMETERS |