Oracle數(shù)據(jù)庫字典的創(chuàng)建與安裝
Oracle數(shù)據(jù)字典主要是由表與視圖組成,其主要的功能是存儲相關的Oracle數(shù)據(jù)庫結構信息的某些數(shù)據(jù)庫的對象。Oracle數(shù)據(jù)庫字典主要描述的是實際數(shù)據(jù)組織。處理它們與處理其他數(shù)據(jù)庫表或視圖一樣進行查詢,但不能進行任何修改。
Oracle數(shù)據(jù)庫字典通常是在創(chuàng)建和安裝數(shù)據(jù)庫時被創(chuàng)建的,Oracle數(shù)據(jù)字典是Oracle數(shù)據(jù)庫系統(tǒng)工作的基礎,沒有數(shù)據(jù)字典的支持,Oracle數(shù)據(jù)庫系統(tǒng)就不能進行任何工作。
在Oracle數(shù)據(jù)庫字典中,許多視圖都有三個不同的實例,它們的前綴分別為"USER_"、"ALL_"及"DBA_"。"USER_"為前綴的數(shù)據(jù)庫字典視圖通常記錄執(zhí)行查詢的帳戶所擁有的對象的信息,"ALL_"為前綴的數(shù)據(jù)庫字典視圖通常記錄包括執(zhí)行查詢的帳戶所擁有的對象的信息及授權至PUBLIC的帳戶用戶所擁有的對象的信息,"DBA_"為前綴的Oracle數(shù)據(jù)庫字典視圖則包含所有數(shù)據(jù)庫對象的信息,而不管其所有者。
其他的字典視圖中主要的是V$視圖,之所以這樣叫是因為他們都是以V$或GV$開頭的。V$視圖是基于X$虛擬視圖的。V$視圖是SYS用戶所擁有的,在缺省狀況下,只有SYS用戶和擁有DBA系統(tǒng)權限的用戶可以看到所有的視圖,沒有DBA權限的用戶可以看到USER_和ALL_視圖,但不能看到DBA_視圖。與DBA_,ALL,和USER_視圖中面向數(shù)據(jù)庫信息相反,這些視圖可視的給出了面向實例的信息。
在Oracle的絕大多數(shù)數(shù)據(jù)字典視圖中都有象DBA_TABLES,ALL_TABLES和USER_TABLES這樣的視圖家族。Oracle中有超過100個視圖家族,下表列出了最重要和最常用的視圖家族,需要注意的是每個視圖家族都有一個DBA_,一個ALL_一個USER_視圖。
視圖家族 描述
COL_PRIVS 包含了表的列權限,包括授予者、被授予者和權限
EXTENTS 數(shù)據(jù)范圍信息,比如數(shù)據(jù)文件,數(shù)據(jù)段名(segment_name)和大小
INDEXES 索引信息,比如類型、***性和被涉及的表
IND_COLUMNS 索引列信息,比如索引上的列的排序方式
OBJECTS 對象信息,比如狀態(tài)和DDL time
ROLE_PRIVS 角色權限,比如GRANT和ADMIN選項
SEGMENTS 表和索引的數(shù)據(jù)段信息,比如tablespace和storage
SEQUECNCES 序列信息,比如序列的cache、cycle和ast_number
SOURCE 除觸發(fā)器之外的所有內置過程、函數(shù)、包的源代碼
SYNONYMS 別名信息,比如引用的對象和Oracle數(shù)據(jù)庫鏈接db_link
SYS_PRIVS 系統(tǒng)權限,比如grantee、privilege、admin選項
TAB_COLUMNS 表和視圖的列信息,包括列的數(shù)據(jù)類型
TAB_PRIVS 表權限,比如授予者、被授予者和權限
TABLES 表信息,比如表空間(tablespace),存儲參數(shù)(storage parms)和數(shù)據(jù)行的數(shù)量
TRIGGERS 觸發(fā)器信息,比如類型、事件、觸發(fā)體(trigger body)
USERS 用戶信息,比如臨時的和缺省的表空間
VIEWS 視圖信息,包括視圖定義
在Oracle中還有一些不常用的數(shù)據(jù)字典表,但這些表不是真正的字典家族,他們都是一些重要的單一的視圖。這些視圖見下表:
視圖名稱 描述
USER_COL_PRIVS_MADE 用戶授予他人的列權限
USER_COL_PRIVS_RECD 用戶獲得的列權限
USER_TAB_PRIVS_MADE 用戶授予他人的表權限
USER_TAB_PRIVS_RECD 用戶獲得的表權限
以上的相關內容就是對Oracle數(shù)據(jù)庫字典的介紹,望你能有所收獲。
【編輯推薦】