Oracle データ・ディクショナリー互換ビュー

Oracle データ・ディクショナリー互換ビューは、データベースの作成時に自動的に作成されます。この機能は、Db2® Warehouse on Cloud 管理対象サービスのエントリー・プランには適用されません。

データ・ディクショナリーは、データベース・メタデータのリポジトリーです。 データ・ディクショナリー・ビューは、自己記述型です。 DICTIONARY ビューは、各ビューの内容を記述するコメントとともに、 すべてのデータ・ディクショナリー・ビューのリストを戻します。 DICT_COLUMNS ビューは、すべてのデータ・ディクショナリー・ビューのすべての列で構成されるリストを戻します。 これらの 2 つのビューにより、使用可能な情報、 およびその情報へのアクセス方法を判別できます。

データ・ディクショナリー・ビューごとに 3 つの異なるバージョンがあり、 各バージョンはビュー名の接頭部によって識別されます。
  • ALL_* ビューは、現在のユーザーがアクセスできるオブジェクトに関する 情報を戻します。
  • DBA_* ビューは、オブジェクトの所有者に関係なく、データベースのすべてのオブジェクトに関する 情報を戻します。
  • USER_* ビューは、現在のデータベース・ユーザーによって所有されているオブジェクトに関する 情報を戻します。
すべてのバージョンが各ビューに当てはまるわけではありません。

データ・ディクショナリーの定義には、Oracle データ・ディクショナリーと互換性がある各ビューについての、CREATE VIEW、CREATE PUBLIC SYNONYM、および COMMENT の各ステートメントが含まれています。 SYSIBMADM スキーマに作成されるビューを、表 1 にリストします。

表 1. Oracle データ・ディクショナリー互換ビュー
カテゴリー 定義されているビュー
一般
DICTIONARY、DICT_COLUMNS
USER_CATALOG、DBA_CATALOG、ALL_CATALOG
USER_DEPENDENCIES、DBA_DEPENDENCIES、ALL_DEPENDENCIES
USER_OBJECTS、DBA_OBJECTS、ALL_OBJECTS
USER_SEQUENCES、DBA_SEQUENCES、ALL_SEQUENCES
USER_TABLESPACES、DBA_TABLESPACES
表またはビュー
USER_CONSTRAINTS、DBA_CONSTRAINTS、ALL_CONSTRAINTS
USER_CONS_COLUMNS、DBA_CONS_COLUMNS、ALL_CONS_COLUMNS
USER_INDEXES、DBA_INDEXES、ALL_INDEXES
USER_IND_COLUMNS、DBA_IND_COLUMNS、ALL_IND_COLUMNS
USER_TAB_PARTITIONS、DBA_TAB_PARTITIONS、ALL_TAB_PARTITIONS
USER_PART_TABLES、DBA_PART_TABLES、ALL_PART_TABLES
USER_PART_KEY_COLUMNS、DBA_PART_KEY_COLUMNS、ALL_PART_KEY_COLUMNS
USER_SYNONYMS、DBA_SYNONYMS、ALL_SYNONYMS
USER_TABLES、DBA_TABLES、ALL_TABLES
USER_TAB_COMMENTS、DBA_TAB_COMMENTS、ALL_TAB_COMMENTS
USER_TAB_COLUMNS、DBA_TAB_COLUMNS、ALL_TAB_COLUMNS
USER_COL_COMMENTS、DBA_COL_COMMENTS、ALL_COL_COMMENTS
USER_TAB_COL_STATISTICS、DBA_TAB_COL_STATISTICS、ALL_TAB_COL_STATISTICS
USER_VIEWS、DBA_VIEWS、ALL_VIEWS
USER_VIEW_COLUMNS、DBA_VIEW_COLUMNS、ALL_VIEW_COLUMNS
プログラミング・オブジェクト
USER_PROCEDURES、DBA_PROCEDURES、ALL_PROCEDURES
USER_SOURCE、DBA_SOURCE、ALL_SOURCE
USER_TRIGGERS、DBA_TRIGGERS、ALL_TRIGGERS
USER_ERRORS、DBA_ERRORS、ALL_ERRORS
USER_ARGUMENTS、DBA_ARGUMENTS、ALL_ARGUMENTS
セキュリティー
USER_ROLE_PRIVS、DBA_ROLE_PRIVS、ROLE_ROLE_PRIVS
SESSION_ROLES
USER_SYS_PRIVS、DBA_SYS_PRIVS、ROLE_SYS_PRIVS
SESSION_PRIVS
USER_TAB_PRIVS、DBA_TAB_PRIVS、ALL_TAB_PRIVS、ROLE_TAB_PRIVS
USER_TAB_PRIVS_MADE、ALL_TAB_PRIVS_MADE
USER_TAB_PRIVS_RECD、ALL_TAB_PRIVS_RECD
DBA_ROLES

以下の例では、MYDB という名前のデータベースに対してデータ・ディクショナリー互換ビューの情報の取得方法、およびその使用方法について示します。
  • どのデータ・ディクショナリー互換ビューが使用可能かを判別します。
    
       connect to mydb
       select * from dictionary
  • 現在のユーザーに付与されているすべてのシステム特権を表示するには、USER_SYS_PRIVS ビューを使用します。
       connect to mydb
       select * from user_sys_privs
  • DBA_TABLES ビューで列定義を確認します。
    
       connect to mydb
       describe select * from dba_tables