oracle資料字典表與檢視

pingley發表於2012-02-19
oracle資料字典表與檢視
       資料字典是資料的資料,也就是後設資料。描述了資料庫的物理與邏輯儲存及相應的資訊。模式中物件的定義資訊,安全資訊,完整性約束資訊,和部分的效能監控資訊等。 資料字典表與檢視儲存在system表空間中的。有一種說法是資料字典表與檢視部分也儲存在sysaux表空間。為了保證 資料字典表與檢視總是可用的,應該儲存在system表空間中才對,當資料庫開啟以後system總是可用的,這樣資料字典表與檢視總是可用的。資料字典是在oracle資料庫建立的時候產生的,使用者不可以對其進行增刪改,否則可能對資料庫
造成不可挽回的損壞。出現這種情況oracle也不會管你。資料字典由oracle資料庫自行維護,當資料庫執行DDL操作的時候,將會插入或者更新,刪除某些資料字典中的記錄。資料庫透過資料字典查詢使用者資訊,模式中物件的定義資訊,和儲存結構。使用者可以透過一組檢視來查詢資料字典中的資訊。當然使用者也可以根據這些檢視建立自己的資料字典表或者檢視。
      資料字典由以下兩類物件組成:
基表:基表中儲存著資料庫的資訊,只有oracle可以讀寫,使用者很少能夠直接的訪問這些基表,因為這些基表中的資訊是難以看懂的,並且通常情況下都被加密儲存。
檢視:基表主要是供oracle資料庫自己用的,檢視把其中的一些資訊抽取解析出來供使用者使用,部分檢視是可以被所有資料庫使用者訪問的,部分只供管理員使用。
這些檢視大概的分成3組,透過檢視字首來標識。

字首       使用者訪問             內容                注意事項
DBA_    資料庫管理員    所有物件             有些DBA_檢視增加了一些額外的                                                               列,列中儲存著對資料庫管理                                                                   員有用的資訊
ALL_    所有使用者   使用者有許可權訪問的物件   包括使用者自己擁有的物件,這些                                                                檢視是根據使用者的當前啟用的角                                                                 色給出的
USER_   所有使用者     物件的擁有者         這些帶USER_字首的檢視,通常沒                                                              有owner列,因為USER_已經隱含                                                              了使用者的所有者

當然並不是所有的檢視集都都可以分成上述的3組,如有dba_lock但是沒有all_lock.
oracle資料庫系統提供的dictionary檢視提供了所有資料字典檢視的名字與簡要描述。
SQL> select count(*) from dictionary;                    
  COUNT(*)
----------
      2542
這些資料字典檢視數量龐大,是有些可怕。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-716749/,如需轉載,請註明出處,否則將追究法律責任。

相關文章