1.資料字典的概念
*資料字典是Oracle資料庫中重要的邏輯結構之一,它是由一些唯讀基礎資料表和視圖組成。在這些基礎資料表中,儲存著Oracle伺服器所有的資訊。這些資訊主要包括:
*資料庫物理結構和邏輯結構的定義,主要包括伺服器中資料檔案,控制檔案和重做記錄檔,以及表,視圖,索引,同義字,序列,預存程序,程式包,觸發器等所有的模式對象。
*資料庫儲存空間的分配資訊,比如當前Oracle為某一對象分配了多少空間,已經使用了其中的多少。
*資料的完整性條件約束資訊。
*資料庫的安全資訊,包括使用者資訊,授予使用者的許可權和角色資訊。
*審計資訊,如吉林某個使用者訪問或修改了那些資料庫物件。
*資料庫運行時的效能和統計資訊。
*其他關於資料庫的基本資料。
相關閱讀:
Oracle體系概述-資料字典
Oracle體系概述--執行個體
Oracle體系概述--記憶體結構
Oracle伺服器體繫結構概述
資料字典的資料是以表和視圖的形式進行組織的,這些資料反映了Oracle體繫結構中的各個組成的基本資料,以及Oracle的運行過程中的各個狀態的資訊,是Oracle管理和控制自身正常啟動並執行資料集合。
資料字典是Oracle的核心資料,被儲存在系統資料表空間中,只有Oracle才能對資料字典中的這些表和視圖進行管理和維護,任何資料庫使用者,包括DBA都只能讀取資料字典中的資料,但無權修改其資料。
2.資料字典的結構
資料字典是一種邏輯結構,主要由兩部分組成:
(1)基礎資料表。資料字典中的資料都是儲存在基礎資料表中。只有Oracle才能修改基礎資料表,Oracle使用者不能直接存取基礎資料表,更不能修改和刪除其中的資料。基礎資料表中的資料存放區一般是經過加密處理的。
(2)使用者視圖。使用者視圖是Oracle伺服器提供給使用者使用的視圖。Oracle伺服器根據使用者的查詢需要,將基礎資料表通過表串連和條件形成了不同的視圖共使用者使用。視圖中的資料是經過解密處理的基礎資料表中的資料。
3.資料字典的用途
資料字典通常是安裝資料庫時被建立的,其中的資料時在Oracle響應某些特定操作時被Oracle更新的。如使用者對Oracle資料庫中的模式對象進行了增加,修改,刪除等操作,這些操作都對Oracle伺服器的組成進行了修改,這時Oracle就將改動後的模式對象的結構資訊記錄在資料字典中。一般在每次執行DDL語句之後,Oracle要對資料字典中的相關的資訊進行修改。資料字典對伺服器運行極為重要,伺服器依靠資料字典來保持,檢驗和處理進行中的操作。
使用者可以通過SELECT語句查詢使用者視圖獲得基礎資料表中的資料,從而獲得Oracle伺服器的各種資訊。對使用者來說,資料字典就像Oracle伺服器的參考手冊,所有關於Oracle伺服器的資訊都可以通過查詢資料欄位獲得。
資料字典的主要用途如下:
*Oracle通過訪問資料字典擷取有關使用者,模式對象和其他儲存結構的資訊,從而控制和管理伺服器工作。
*任何資料庫使用者都可以從資料字典中擷取關於資料庫的資訊,從而對資料庫進行相關的開發,修改和維護操作。
*DBA可以從資料字典中擷取資料庫的各種參數資訊和運行狀態資訊,從而進行有效資料庫管理。
4.使用者視圖
使用者視圖也叫靜態視圖,因為視圖中的內容是基礎資料表中的資料,只有基礎資料表改變後,視圖的內容才隨之改變。
Oracle 通過SELECT語句可以訪問使用者視圖獲得資料字典中的資料。但由於資料庫的安全性考慮,並不是每個使用者都能夠訪問資料字典中的任何資料,一般使用者只能查詢同自己相關的資料資訊,只有DBA或具有SELECT ANYTABLE許可權的使用者才能查詢資料字典中的所有資料資訊。
使用者視圖大致可以分為三類,每一類的視圖通過不同的首碼加以區別,如表1-1所示
表1-1
5動態效能表
Oracle伺服器在運行過程中,會將當前伺服器的運行狀態記錄在記憶體中的一些“虛擬”表中,這些“虛擬”表稱之為動態效能表。這些動態效能表只能存在於記憶體當中,隨著Oracle執行個體的啟動而被建立,在Oracle關閉時,這些表同時被刪除。
動態效能表屬於SYS使用者,只有SYS和具有SYSDBA角色使用者才能查詢。動態效能表通常以V$為首碼。
最為常用的動態效能檢視如表1-2所示:
表1-2
除了上述使用者視圖和動態效能檢視外,Oracle資料字典還有很多使用者視圖和動態效能檢視。作為DBA必須對於Oracle體繫結構有非常深刻的理解,通過查詢資料欄位來擷取Oracle伺服器的組織圖和健全狀態,如資料庫的剩餘情況,SGA情況,使用者的許可權以及緩衝區的使用狀況等。