ORACLE/データディクショナリ編

オラクルちょこっとリファレンス

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
ToTop