・読み取り専用で提供されるテーブルやビューの集合でデータベース全般の情報を提供する。
・オラクルデータベースはコマンドが実行される毎にデータ・ディクショナリにアクセスする。
・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 件のコメント:
コメントを投稿