2013/08/30

13-01.データディクショナリ(Data Dictionary)とは

■データ・ディクショナリ(Data Dictionary)とは
 ・読み取り専用で提供されるテーブルやビューの集合でデータベース全般の情報を提供する。
 ・オラクルデータベースはコマンドが実行される毎にデータ・ディクショナリにアクセスする。
 ・DB作業の間、Oracleはデータ・ディクショナリを読みオブジェクトの存在とユーザーに適切なAccess権限が有るかを確認する。また、Oracleはデータ・ディクショナリを更新しながらDATABASE構造、監査、ユーザー権限、データ等の変更を反映していく。

 ・データ・ディクショナリに保存される内容
  -オラクルのユーザー情報
  -オラクル権限とロール情報
  -データベースのスキーマオブジェクト(TABLE, VIEW, INDEX, CLUSTER, SYNONYM, SEQUENCE...)情報
  -ユニーク制約条件に関する情報
  -オラクルデータベースの関数はプロシザー及びトリガーに関する情報
  -その他、一般DATABASE情報


■データ・ディクショナリの分類
 ・ALL_XXXX
  -ALL_で始まるデータ・ディクショナリで、特定ユーザーが検索可能なすべてのデータ・ディクショナリを意味する。
  -検索しようとするオブジェクトが自分のではなくても、そのオブジェクトにアクセスできる権限を持っているなら、ALL_XXXXビューで検索可能。


SQL> SELECT table_name, tablespace_name
  2  FROM ALL_TABLES;

TABLE_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
DUAL                           SYSTEM
SYSTEM_PRIVILEGE_MAP           SYSTEM
TABLE_PRIVILEGE_MAP            SYSTEM
STMT_AUDIT_OPTION_MAP          SYSTEM
AUDIT_ACTIONS                  SYSTEM
WRR$_REPLAY_CALL_FILTER        SYSAUX
HS_BULKLOAD_VIEW_OBJ           SYSTEM
HS$_PARALLEL_METADATA          SYSTEM
HS_PARTITION_COL_NAME          SYSTEM
HS_PARTITION_COL_TYPE          SYSTEM
HELP                           SYSTEM
....



 ・DBA_XXXX
  -DBA権限が有るユーザーのみ検索できるデータ・ディクショナリですべてのオラクルデータベースのオブジェクトの情報が見れる。

  -SELECT ANY TABLE権限があるユーザーも問合せ可能で、他のユーザーが問合せするには前に「SYS.」の接頭語をつけなければいけない。

--SYSユーザーで接続し、下記を実施してみよう
SQL> SELECT OWNER, OBJECT NAME
  2  FROM SYS.DBA_OBJECTS;



■V$_XXXX
 ・Dynamic Performance Viewとも言う。現在のDatabaseの状態に関する情報で、DBAのみアクセスが許可されている。
 ・主にDBAのモニタリング作業用情報を提供し、X$テーブルをベースとするビューである。

■X$_XXXX
 ・X$ビューはV$ビューで見れない情報を見せてくれる
 ・X$テーブルはオラクルメモリ情報を見られるSQLインターペースビューでOracleデータベースの隠れている領域の1つだ。

■Oracle Database全体データディクショナリ
 ・http://docs.oracle.com/cd/B28359_01/server.111/b28320/index.htm

0 件のコメント:

コメントを投稿

QLOOKアクセス解析