Oracle數據字典是Oracle數據庫的最重要的組成部分,是Oracle存放有關數據庫信息的地方,其用途是用來描述數據的,它提供了數據庫的系統信息,以及例程的信息。
1.Oracle數據字典的概念
數據字典是Oracle數據庫的核心組件,它由一系列只讀的數據字典表和數據字典視圖組成。數據字典表中記錄了數據庫的系統信息,如方案對象的信息,例程運行的性能信息(如例程的狀態,SGA區的信息)。數據字典表達所有者是SYS用戶,其數據字典表和數據字典視圖都被保存在SYSTEM表空間中。所以,為了性能和安全的原因,Oracle建議不要在SYSTEM表空間中創建其它方案對象。
數據字典主要保存如下信息:
1)各種方案對象的定義信息,如表,視圖,索引,同義詞,緒論,存儲過程,函數,包,觸發器和各種對象。
2)存儲空間的分配信息,如為某個對象分配了多少存儲空間,該對象使用了多少存儲空間。
3)安全信息,如賬戶,權限,角色,完整性約束信息。
4)例程運行時代性能和統計信息。
5)其他數據庫本身的基本信息。
2.Oracle數據字典內容包括:
1)數據庫中所有模式對象的信息,如表、視圖、簇、及索引等。
2)分配多少空間,當前使用了多少空間等。
3)列的缺省值。
4)約束信息的完整性。
5)Oracle用戶的名字。
6)用戶及角色被授予的權限。
7)用戶訪問或使用的審計信息。
8)其它產生的數據庫信息。
3.Oracle數據字典的主要用途是:
1)Oracle通過查詢數據字典表或數據字典視圖來獲取有關用戶,方案對象。對象的定義信息以及其他存儲結構的信息,以便確認權限,方案對象的存在性和正確性。
2)在每次執行DDL語句修改方案對象和對象後,Oracle都在數據字典中記錄下所做的修改。
3)用戶可以從數據字典的只讀視圖中,獲取各種與方案對象和對象有關的信息。
4)DBA可以從數據字典的動態性能視圖中,監視例程的運行狀態,為性能調整提供依據。
4.Oracle數據字典的組成
為了方便使用,數據字典中的信息通過表和視圖的方式組織。數據字典的組成包括數據字典表和數據字典視圖兩部分。
5.Oracle數據字典表
數據字典表中的所有信息實際上都是保存在數據字典表中的。數據字典表中存儲的信息通常都是經過加密處理的。數據字典表屬於SYS用戶,通過在創建數據庫時自動運行SQL.BSQ腳本來創建數據字典表。大部分數據字典表的名稱中都包含$等這樣的特殊符號。