文章目錄
一、概述
Oracle通過數據字典來管理和展現數據庫信息,數據字典儲存數據庫的元數據,是數據庫的“數據庫”。數據字典由4部分組成:內部RDBMS(X$)表、數據字典表、動態性能視圖(V$)和(靜態)數據字典視圖。
數據字典系統表,保存在system表空間中。執行以下語句可以查詢所有數據字典:
select * from dictionary;
二、內部RDBMS(X$)表
X$表示Oracle數據庫的核心部分,這些表用於跟蹤數據庫內部信息,維持數據庫的正常運行。X$表是加密命名的,而且Oracle不做文檔說明,也不允許sysdba以外的用戶直接訪問,顯示授權不被允許。X$表是Oracle數據庫的運行基礎,在數據庫啓動時由Oracle應用程序動態創建。
三、動態性能視圖
動態性能視圖記錄了數據庫運行時信息和統計數據,大部分動態性能視圖被實時更新以及反映數據庫當前狀態。在數據庫啓動時,Oracle動態創建X$表,在此基礎上,Oracle創建了GV$和V$視圖,GV$即Global V$,除了一些特例外,每個V$都對應一個GV$。GV$產生是爲了OPS/RAC環境的需要,每個V$都是基於GV$的,只是GV$多了INST_ID列來顯示實例ID。
v$database數據庫信息
v$datafile數據文件信息
v$controlfile控制文件信息
v$logfile重做日誌信息
v$instance數據庫實例信息
v$log日誌組信息
v$loghist日誌歷史信息
v$sga數據庫SGA信息
v$parameter初始化參數信息
v$process數據庫服務器進程信息
v$bgprocess數據庫後臺進程信息
v$controlfile_record_section控制文件記載的各部分信息
v$thread線程信息
v$datafile_header數據文件頭所記載的信息
v$archived_log歸檔日誌信息
v$archive_dest歸檔日誌的設置信息
v$logmnr_contents歸檔日誌分析的DMLDDL結果信息
v$logmnr_dictionary日誌分析的字典文件信息
v$logmnr_logs日誌分析的日誌列表信息
v$tablespace表空間信息
v$tempfile臨時文件信息
v$filestat數據文件的I/O統計信息
v$undostatUndo數據信息
v$rollname在線回滾段信息
v$session會話信息
v$transaction事務信息
v$rollstat回滾段統計信息
v$pwfile_users特權用戶信息
v$sqlarea當前查詢過的sql語句訪問過的資源及相關的信息
v$sql與v$sqlarea基本相同的相關信息
v$sysstat數據庫系統狀態信息
四、數據字典表
數據字典表(Data dictionary
table)用以存儲表、索引、約束以及其它數據庫結構的信息,這些對象通常以“$”結尾(例如:TAB$、OBJ$、TS$等),在創建數據庫的時候通過運行$ORACLE_HOME/rdbms/admin/sql.bsq腳本來創建。
五、靜態數據字典視圖
由於X$表和數據字典表通常不能直接被用戶訪問,Oracle創建了靜態數據字典視圖來提供用戶對於數據字典信息的訪問,由於這些信息通常相對穩定,不能直接修改,所以又被稱爲靜態數據字典視圖。靜態數據字典視圖在創建數據庫時由$ORACLE_HOME/rdbms/admin/catagory.sql腳本創建。
靜態數據字典視圖按照前綴的不同通常分成三類,在本質上是爲了實現權限控制。在Oracle數據庫中,每個用戶與方案(Schema)是對應的,Schema是用戶所擁有的對象的集合。數據庫通過Schema將不同用戶的對象隔離開來,用戶可以自由的訪問自己的對象,但是要訪問其他Schema對象就需要相關的授權。
1、USER_*(用戶所擁有的相關對象信息)
user_objects用戶對象信息
user_source數據庫用戶的所有資源對象信息
user_segments用戶的表段信息
user_tables用戶的表對象信息
user_tab_columns用戶的表列信息
user_constraints用戶的對象約束信息
user_sys_privs當前用戶的系統權限信息
user_tab_privs當前用戶的對象權限信息
user_col_privs當前用戶的表列權限信息
user_role_privs當前用戶的角色權限信息
user_indexes用戶的索引信息
user_ind_columns用戶的索引對應的表列信息
user_cons_columns用戶的約束對應的表列信息
user_clusters用戶的所有簇信息
user_clu_columns用戶的簇所包含的內容信息
user_cluster_hash_expressions散列簇的信息
2、ALL_*(用於有權限訪問的所有對象的信息)
all_users數據庫所有用戶的信息
all_objects數據庫所有的對象的信息
all_def_audit_opts所有默認的審計設置信息
all_tables所有的表對象信息
all_indexes所有的數據庫對象索引的信息
3、DBA_(數據庫所有相關對象的信息)
dba_users數據庫用戶信息
dba_segments表段信息
dba_extents數據區信息
dba_objects數據庫對象信息
dba_tablespaces數據庫表空間信息
dba_data_files數據文件設置信息
dba_temp_files臨時數據文件信息
dba_rollback_segs回滾段信息
dba_ts_quotas用戶表空間配額信息
dba_free_space數據庫空閒空間信息
dba_profiles數據庫用戶資源限制信息
dba_sys_privs用戶的系統權限信息
dba_tab_privs用戶具有的對象權限信息
dba_col_privs用戶具有的列對象權限信息
dba_role_privs用戶具有的角色信息
dba_audit_trail審計跟蹤記錄信息
dba_stmt_audit_opts審計設置信息
dba_audit_object對象審計結果信息
dba_audit_session會話審計結果信息
dba_indexes用戶模式的索引信息
六、版權聲明
C語言技術網原創文章,轉載請說明文章的來源、作者和原文的鏈接。
來源:C語言技術網(www.freecplus.net)
作者:碼農有道
如果文章有錯別字,或者內容有錯誤,或其他的建議和意見,請您留言指正,非常感謝!!!