Oracleデータベースにおいて、データディクショナリはデータベースのメタデータ(データに関するデータ)を格納する基盤となるテーブルの集まりです。データディクショナリは、データベース全体の構造やオブジェクトに関する情報を保持しています。具体的には、テーブル、インデックス、ビュー、ユーザー、権限、制約などの定義情報が含まれています。
一方、データディクショナリビューは、これらのテーブルに格納された情報をユーザーが簡単に参照できるように提供されるビューのことです。データディクショナリビューは、データディクショナリテーブルの情報を読みやすく、使いやすい形式で提供します。
名前が「ALL_」または「USER_」で始まるデータディクショナリビューは、すべてのユーザが参照できる。
名前が「DBA_」で始まるデータディクショナリビューは、SELECT ANY DICTIONARY システム権限を持つユーザーだけが参照できる。
ALL_INDEXES は、現在のユーザがアクセスできる索引を示すデータ・ディクショナリ・ビューである。
| 列 | データ型 | NULL | 説明 |
|---|---|---|---|
| OWNER | VARCHAR2(30) | NOT NULL | 索引の所有者 |
| INDEX_NAME | VARCHAR2(30) | NOT NULL | 索引の名前 |
| INDEX_TYPE | VARCHAR2(27) | 索引のタイプ | |
| TABLE_OWNER | VARCHAR2(30) | NOT NULL | 索引付きオブジェクトの所有者 |
| TABLE_NAME | VARCHAR2(30) | NOT NULL | 索引付きオブジェクトの名前 |
| TABLE_TYPE | CHAR(5) | 索引付きオブジェクトの型 | |
| UNIQUENESS | VARCHAR2(9) | 索引が一意かどうか | |
| COMPRESSION | VARCHAR2(8) | 索引圧縮が使用可能かどうか | |
| PREFIX_LENGTH | NUMBER | 圧縮キーの接頭辞内の列数 | |
| TABLESPACE_NAME | VARCHAR2(30) | 索引が設定されている表領域の名前 | |
| INI_TRANS | NUMBER | トランザクションの初期数 | |
| MAX_TRANS | NUMBER | トランザクションの最大数 | |
| INITIAL_EXTENT | NUMBER | 初期エクステントのサイズ | |
| NEXT_EXTENT | NUMBER | セカンダリ・エクステントのサイズ | |
| MIN_EXTENTS | NUMBER | セグメント内で使用できるエクステントの最小数 | |
| MAX_EXTENTS | NUMBER | セグメント内で使用できるエクステントの最大数 | |
| PCT_INCREASE | NUMBER | エクステント・サイズの増加の割合 | |
| PCT_THRESHOLD | NUMBER | 1索引エントリ当たりの許容ブロック領域のしきい値(パーセント) | |
| INCLUDE_COLUMN | NUMBER | 索引編成表の主キー索引に含まれる最終列の列ID | |
| FREELISTS | NUMBER | このセグメントに割り当てられたプロセス空きリストの数 | |
| FREELIST_GROUPS | NUMBER | このセグメントに割り当てられた空きリスト・グループの数 | |
| PCT_FREE | NUMBER | ブロック内の空き領域の最小割合 | |
| LOGGING | VARCHAR2(3) | 索引への変更がロギングされるかどうか | |
| BLEVEL* | NUMBER | B*ツリー・レベル | |
| LEAF_BLOCKS* | NUMBER | 索引内のリーフ・ブロックの数 | |
| DISTINCT_KEYS* | NUMBER | 明確に索引付けされた値の数 |
DBA_INDEXES は、データーベース内すべての索引を示すデータ・ディクショナリ・ビューである。
USER_INDEXES は、現在のユーザが所有する索引を示すデータ・ディクショナリ・ビューである。
ALL_SEQUENCES は、現在のユーザがアクセスできる順序を示すデータ・ディクショナリ・ビューである。
| 列 | データ型 | NULL |
|---|---|---|
| SEQUENCE_OWNER | VARCHAR2(30) | NOT NULL |
| SEQUENCE_NAME | VARCHAR2(30) | NOT NULL |
| MIN_VALUE | NUMBER | |
| MAX_VALUE | NUMBER | |
| INCREMENT_BY | NUMBER | NOT NULL |
| CYCLE_FLAG | VARCHAR2(1) | |
| ORDER_FLAG | VARCHAR2(1) | |
| CACHE_SIZE | NUMBER | NOT NULL |
| LAST_NUMBER | NUMBER | NOT NULL |
DBA_SEQUENCES は、データーベース内すべての順序を示すデータ・ディクショナリ・ビューである。
| 列 | データ型 | NULL |
|---|---|---|
| SEQUENCE_OWNER | VARCHAR2(30) | NOT NULL |
| SEQUENCE_NAME | VARCHAR2(30) | NOT NULL |
| MIN_VALUE | NUMBER | |
| MAX_VALUE | NUMBER | |
| INCREMENT_BY | NUMBER | NOT NULL |
| CYCLE_FLAG | VARCHAR2(1) | |
| ORDER_FLAG | VARCHAR2(1) | |
| CACHE_SIZE | NUMBER | NOT NULL |
| LAST_NUMBER | NUMBER | NOT NULL |
USER_SEQUENCES は、現在のユーザが所有する順序を示すデータ・ディクショナリ・ビューである。
| 列 | データ型 | NULL |
|---|---|---|
| SEQUENCE_NAME | VARCHAR2(30) | NOT NULL |
| MIN_VALUE | NUMBER | |
| MAX_VALUE | NUMBER | |
| INCREMENT_BY | NUMBER | NOT NULL |
| CYCLE_FLAG | VARCHAR2(1) | |
| ORDER_FLAG | VARCHAR2(1) | |
| CACHE_SIZE | NUMBER | NOT NULL |
| LAST_NUMBER | NUMBER | NOT NULL |
ALL_SOURCE は、現在のユーザがアクセスできるストアド・オブジェクトのテキスト・ソースを示すデータ・ディクショナリ・ビューである。
| 列 | データ型 | NULL | 説明 |
|---|---|---|---|
| OWNER | VARCHAR2(30) | NOT NULL | オブジェクトの所有者 |
| NAME | VARCHAR2(30) | NOT NULL | オブジェクト名 |
| TYPE | VARCHAR2(12) | オブジェクトのタイプ | |
| LINE | NUMBER | NOT NULL | このソース行の行番号 |
| TEXT | VARCHAR2(4000) | ストアド・オブジェクトのテキスト・ソース |
ALL_SOURCE データ・ディクショナリ・ビューの TYPE 列は、オブジェクトのタイプを示す。
| 値 | 説明 |
|---|---|
| FUNCTION | ストアド・ファンクション |
| JAVA SOURCE | Javaソース |
| PACKAGE | ストアド・パッケージ |
| PACKAGE BODY | ストアド・パッケージの本体 |
| PROCEDURE | ストアド・プロシージャ |
| TRIGGER | データベース・トリガ |
| TYPE | 型 |
| TYPE BODY | 型の本体 |
DBA_SOURCE は、データベース内のすべてのストアド・オブジェクトのテキスト・ソースを示すデータ・ディクショナリ・ビューである。
| 列 | データ型 | NULL | 説明 |
|---|---|---|---|
| OWNER | VARCHAR2(30) | NOT NULL | オブジェクトの所有者 |
| NAME | VARCHAR2(30) | NOT NULL | オブジェクト名 |
| TYPE | VARCHAR2(12) | オブジェクトのタイプ | |
| LINE | NUMBER | NOT NULL | このソース行の行番号 |
| TEXT | VARCHAR2(4000) | ストアド・オブジェクトのテキスト・ソース |
USER_SOURCE は、現行のユーザが所有するストアド・オブジェクトのテキスト・ソースを示すデータ・ディクショナリ・ビューである。
| 列 | データ型 | NULL | 説明 |
|---|---|---|---|
| NAME | VARCHAR2(30) | NOT NULL | オブジェクト名 |
| TYPE | VARCHAR2(12) | オブジェクトのタイプ | |
| LINE | NUMBER | NOT NULL | このソース行の行番号 |
| TEXT | VARCHAR2(4000) | ストアド・オブジェクトのテキスト・ソース |
ROLE_ROLE_PRIVS は、別のロールに付与されたロールの情報を示すデータ・ディクショナリ・ビューである。表示される情報は、ユーザーがアクセス可能なロールに関するもののみである。
| 列 | データ型 | NULL | 説明 |
|---|---|---|---|
| ROLE | VARCHAR2(30) | NOT NULL | ロールの名前 |
| GRANTED_ROLE | VARCHAR2(30) | NOT NULL | 付与されたロール |
| ADMIN_OPTION | VARCHAR2(3) | ロールがADMIN OPTION付きで付与されたかどうか |
SQL> SELECT * FROM ROLE_ROLE_PRIVS;
ROLE GRANTED_ROLE ADMIN_OPTION
------- ------------ ------------
Manager Member