データ・ディクショナリとは、オブジェクトのスキーマ定義等を格納した表のことです。これらのデータ・ディクショナリを参照するために、データ・ディクショナリ・ビューが用意されています。

Oracleデータディクショナリ
データディクショナリ 説明
ALL_CATALOG 現在のユーザがアクセスできるテーブル、ビュー、シノニム、シーケンス及びクラスタを示す。
ALL_COL_COMMENTS 現在のユーザがアクセスできるテーブル及びビューの列に付けられたコメントを示す。
ALL_DB_LINKS 現在のユーザがアクセスできるデータベース・リンクを示す。
ALL_DIRECTORIES 現在のユーザがアクセスできるディレクトリを示す。
ALL_INDEXES 現在のユーザがアクセスできるインデックスを示す。
ALL_IND_COLUMNS 現在のユーザがアクセスできるインデックスの列を示す。
ALL_LIBRARIES 現在のユーザがアクセスできるライブラリを示す。
ALL_OBJECTS 現在のユーザがアクセスできるオブジェクトを示す。
ALL_PROCEDURES 現在のユーザがアクセスできるプロシージャ、ファンクション及びパッケージを示す。
ALL_SOURCE 現在のユーザがアクセスできるストアドオブジェクトのテキストソースを示す。
ALL_TABLES 現在のユーザがアクセスできるテーブルを示す。
ALL_TAB_COLUMNS 現在のユーザがアクセスできるテーブル、ビュー及びクラスタの列を示す。
ALL_TAB_COMMENTS 現在のユーザが参照できるテーブル及びビューに付けられたコメントを示す。
ALL_USERS 現在のユーザが参照できるユーザを示す。
ALL_VIEWS 現在のユーザが参照できるビューを示す。
DBA_CATALOG データベース内のすべてのテーブル、ビュー、シノニム、シーケンス及びクラスタを示す。
DBA_COL_COMMENTS データベース内すべてのテーブル及びビューの列に付けられたコメントを示す。
DBA_DATA_FILES データベースファイルを示す。
DBA_DB_LINKS データベース内のすべてのデータベース・リンクを示す。
DBA_DIRECTORIES データベース内のすべてのディレクトリを示す。
DBA_INDEXES データベース内のすべてのインデックスを示す。
DBA_OBJECTS データベース内のすべてのオブジェクトを示す。
DBA_LIBRARIES Oracleデータベース内すべてのライブラリを示す。
DBA_PROCEDURES すべてのプロシージャ、ファンクション及びパッケージを示す。
DBA_SEGMENTS データベース内のすべてのセグメントに割り当てられた記憶域を示す。
DBA_SOURCE すべてのストアドオブジェクトのテキストソースを示す。
DBA_TABLES データベース内のすべてのテーブルを示す。
DBA_TABLESPACES データベース内のすべての表領域を示す。
DBA_TAB_COLUMNS データベース内のすべてのテーブル、ビュー及びクラスタの列を示す。
DBA_TAB_COMMENTS データベース内のすべてのテーブル及びビューに付けられたコメントを示す。
DBA_USERS データベース内のすべてのユーザを示す。
DBA_VIEWS データベース内のすべてのビューを示す。
GLOBAL_NAME グローバル・データベース名を示す。
NLS_DATABASE_PARAMETERS NLSデータベースパラメータ
USER_CATALOG 現在のユーザが所有するテーブル、ビュー、シノニム、シーケンス及びクラスタを示す。
USER_COL_COMMENTS 現在のユーザが所有するテーブル及びビューの列に付けられたコメントを示す。
USER_DB_LINKS 現在のユーザが所有するデータベース・リンクを示す。
USER_INDEXES 現在のユーザが所有するインデックスを示す。
USER_IND_COLUMNS 現在のユーザが所有するインデックスの列を示す。
DBA_IND_COLUMNS データベース内のすべてのインデックスの列を示す。
USER_LIBRARIES 現在のユーザが所有するライブラリを示す。
USER_OBJECTS 現在のユーザが所有するオブジェクトを示す。
USER_PROCEDURES 現在のユーザが所有するプロシージャ、ファンクション及びパッケージを示す。
USER_SEGMENTS 現在のユーザが所有するオブジェクトに割り当てあられた記憶域を示す。
USER_SOURCE 現在のユーザが所有するストアドオブジェクトのテキストソースを示す。
USER_TABLES 現在のユーザが所有するテーブルを示す。
USER_TABLESPACES 現在のユーザがアクセスできる表領域を示す。
USER_TAB_COLUMNS 現在のユーザが所有するテーブル、ビュー及びクラスタの列を示す。
USER_TAB_COMMETNS 現在のユーザが所有するテーブル及びビューに付けられたコメントを示す。
USER_USERS 現在のユーザを示す。
USER_VIEWS 現在のユーザが所有するビューを示す。

ALL_SYNONYMS

ALL_SYNONYMS、現在のユーザがアクセスできるすべてのシノニムを示すデータディクショナリビューである。

説明
OWNER シノニムの所有者
SYNONYM_NAME シノニムの名前
TABLE_OWNER オブジェクトの所有者
TABLE_NAME シノニムが参照するオブジェクトの名前

ALL_USERS

ALL_USERSビューには、ユーザー名およびユーザーID、作成日が格納されています。

列名 説明
USERNAME ユーザーの名前
USER_ID ユーザーを一意に識別するためのID
CREATED ユーザーを作成した日付
SQL> SELECT * FROM ALL_USERS;

USERNAME                                                        USER_ID CREATED
------------------------------------------------------------ ---------- --------

FLOWS_020100                                                         35 06-02-07

FLOWS_FILES                                                          34 06-02-07

HR                                                                   33 06-02-07

MDSYS                                                                32 06-02-07

ANONYMOUS                                                            28 06-02-07

XDB                                                                  27 06-02-07

CTXSYS                                                               25 06-02-07

DBSNMP                                                               23 06-02-07

TSMSYS                                                               20 06-02-07

DIP                                                                  18 06-02-07

OUTLN                                                                11 06-02-07


USERNAME                                                        USER_ID CREATED
------------------------------------------------------------ ---------- --------

SYSTEM                                                                5 06-02-07

SYS                                                                   0 06-02-07


13行が選択されました。

SQL>

DBA_USERS

DBA_USERSは、Oracleデータベース内のすべてのユーザを示すデータディクショナリビューである。。

説明
USERNAME ユーザ名
USER_ID ユーザのID番号
PASSWORD 暗号化されたパスワード
ACCOUNT_STATUS アカウントの状態
LOCK_DATE アカウントがロック状態の場合、ロックされた日付
EXPIRY_DATA アカウントの有効期限切れの日付
DEFAULT_TABLESPACE データのデフォルト表領域
TEMPORARY_TABLESPACE 一時表のデフォルトの表領域の名前
CREATED ユーザの作成日
PROFILE ユーザのリソースプロファイル名
INITIAL_RSRC_CONSUMER_GROUP ユーザの初期リソースコンシューマグループ
EXTERNAL_NAME ユーザ外部名

ALL_DIRECTORIES, DBA_DIRECTORIES

ディレクトリオブジェクトは所有者が常に SYS であるため、USER_DIRECTORIESというデータディクショナリは存在しない。

列名 説明
OWNER ディレクトリオブジェクトの所有者(常にSYS)
DIRECTORY_NAME ディレクトリオブジェクトの名前
DIRECTORY_PATH ディレクトリのパス

DBA_DATA_FILES

DBA_DATA_FILESは、データベースファイルを示すデータディクショナリビューである。

DBA_DATA_FILES
説明
FILE_NAME データベースファイル名
FILE_ID データベースファイルのファイル識別番号
TABLESPACE_NAME ファイルが属する表領域の名前
BYTES ファイルサイズ(バイト単位)
BLOCKS ファイルサイズ(ブロック単位)
STATUS ファイルの状態
RELATIVE_FNO 相対ファイル番号
AUTOEXTENSIBLE 自動拡張可能かどうか
MAXBYTES ファイルの最大サイズ(バイト単位)
MAXBLOCKS ファイルの最大サイズ(ブロック単位)
INCREMENT_BY 自動拡張の増分値(ブロック数)
USER_BYTES ユーザのデータに使用できるファイルサイズ(バイト単位)
USER_BLOCKS ユーザのデータに使用できるファイルサイズ(ブロック単位)
ONLINE_STATUS ファイルのオンライン状態

DBA_SEGMENTS

Oracleデータベース内のすべてのセグメントに割り当てられた記憶域を示す。

DBA_SEGMENTS
列名 説明
OWNER セグメントの所有者
SEGMENT_NAME セグメントの名前
PARTITION_NAME オブジェクトパーティション名
SEGMENT_TYPE セグメントのタイプ
SEGMENT_SUBTYPE LOBセグメントのサブタイプ
TABLESPACE_NAME セグメントが設定されている表領域の名前
HEADER_FILE セグメントヘッダが設定されているファイルのID
HEADER_BLOCK セグメントヘッダが設定されているブロックのID
BYTES セグメントのサイズ(バイト単位)
BLOCKS セグメントのサイズ(ブロック単位)
EXTENTS セグメントに割り当てられたエクステントの数
INITIAL_EXTENT セグメントを作成するときに初期エクステントに必要なサイズ(バイト単位)
NEXT_EXTENT セグメントに割り当てられる次のエクステントのサイズ(バイト単位)
MIN_EXTENTS セグメント内で使用できるエクステントの最小数
MAX_EXTENTS セグメント内で使用できるエクステントの最大数
MAX_SIZE セグメント内で使用できるブロックの最大数
RETENTION SECUREFILEセグメント用の保存オプション
MINRETENTION SECUREFILEセグメント用の最小保持時間
PCT_INCREASE 次に割り当てられるエクステントのサイズを何パーセント増加するか
FREELISTS このセグメントに割り当てられたプロセス空きリストの数
FREELIST_GROUPS このセグメントに割り当てられた空きリストグループの数
RELATIVE_FNO セグメントヘッダの相対ファイル番号
BUFFER_POOL セグメントブロックに対して使用されるバッファプール
FLASH_CACHE セグメントブロックに対して使用されるデータベーススマートフラッシュキャッシュヒント
CELL_FLASH_CACHE セグメントブロックに対して使用されるセルフラッシュキャッシュヒント

NLS_DATABASE_PARAMETERS

NLS_DATABASE_PARAMETERSディクショナリー・ビューには、NLSデータベース・パラメーターが格納されています。

列名 説明
PARAMETER パラメータの名前
VALUE パラメータの値

パラメータの名前には、次のようなものがあります。

PARAMETER 説明
NLS_CALENDAR
NLS_CHARACTERSET データベース・キャラクタ・セット
NLS_COMP
NLS_CURRENCY 通貨記号
NLS_DATE_FORMAT 日付けの書式
NLS_DUAL_CURRENCY
NLS_ISO_CURRENCY
NLS_LANGUAGE 言語
NLS_LENGTH_SEMANTICS 長さセマンティクス(キャラクタ文字列の長さをバイト単位で定義するか文字数単位で定義するか)
NLS_NCHAR_CHARACTERSET
NLS_NCHAR_CONV_EXCP NCHAR/NVARCHAR2データとCHAR/VARCHAR2データの間で暗黙的または明示的なキャラクタ・タイプの変換が行われる際、データ損失が発生した場合にエラーを報告するかどうか
NLS_NUMERIC_CHARACTERS
NLS_SORT 言語比較に使用される照合順番
NLS_TERRITORY 地域
NLS_TIMESTAMP_FORMAT
NLS_TIMESTAMP_TZ_FORMAT
NLS_TIME_FORMAT
NLS_TIME_TZ_FORMAT

Oracleデータベース・キャラクタ・セットを取得するには、次の問合せを発行します。

SQL> SELECT VALUE FROM NLS_DATABASE_PARAMETERS
  2  WHERE PARAMETER = 'NLS_CHARACTERSET';

VALUE
--------------------------------------------------------------------------------

AL32UTF8

SQL>

USER_COL_COMMENTS

USER_COL_COMMENTS は、列に付けられたコメントが格納されているデータディクショナリである。列にコメントを付けるには、COMMENT ON COLUMN文を使用する。

列名 説明
TABLE_NAME 表の名前
COLUMN_NAME 列の名前
COMMENTS コメント

employee表のempno列のコメントを問い合わせるSQL文の例を示す。

SELECT COMMENTS FROM USER_COL_COMMENTS WHERE TABLE_NAME = 'employee' AND COLUMN_NAME = 'empno';

USER_TAB_COMMENTS

USER_TAB_COMMENTS は、表やビューに付けられたコメントが格納されているデータディクショナリである。表やビューにコメントを付けるには、COMMENT ON TABLE文を使用する。

列名 説明
TABLE_NAME 表またはビューの名前
TABLE_TYPE オブジェクトの型(表やビューなどの種別を表す)
COMMENTS コメント

employee表のコメントを問い合わせるSQL文の例を示す。

SELECT COMMENTS FROM USER_TAB_COMMENTS WHERE TABLE_NAME = 'employee';

USER_TAB_PRIVS_MADE

現行のユーザがオブジェクト所有者であるオブジェクトの権限付与を示す。OWNER列を除き、ALL_TAB_PRIVS_MADEと同じ

USER_TAB_PRIVS_RECD

現行のユーザが権限受領者であるオブジェクトの権限付与を示す。GRANTEE列を除き、ALL_TAB_PRIVS_RECDと同じ

説明
OWNER オブジェクトの所有者
TABLE_NAME オブジェクトの名前
GRANTOR 権限付与を実行したユーザ名
PRIVILEGE オブジェクトについての権限
GRANTABLE 権限がGRANT OPTION付きで付与されたか
HIERARCHY 権限がHIERARYCHY OPTION付きで付与されたか
DEFAULT_TABLESPACE データのデフォルト表領域
スポンサーリンク