首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 數據字典深度解析:USER/ALL/DBA 三視圖體系、V$動態視圖與核心視圖家族

     編輯:Oracle 資料庫基礎

數據字典架構

Oracle 數據字典 = 靜態字典表/視圖 (DBA_/ALL_/USER_) + 動態性能視圖 (V$/GV$)。前者存儲元數據,後者反映實例運行狀態。

三大視圖前綴語義

前綴可見範圍典型用戶權限要求
USER_當前用戶擁有的對象開發/應用用戶無特殊權限
ALL_當前用戶擁有 + 被授權訪問開發/審計無特殊權限
DBA_所有用戶所有對象DBASELECT_CATALOG_ROLE / DBA 役

例如:USER_TABLES、ALL_TABLES、DBA_TABLES 結構相同,行級過濾不同。

V$ 動態性能視圖

  • 基於 X$ 固定表 (C 結構體映射),實例啟動時在內存構建。
  • 僅 SYS 擁有,授予 SELECT_CATALOG_ROLE 可見。
  • GV$ = Global V$,RAC 環境下聚合所有實例數據 (含 INST_ID 列)。
  • 不支持 DML,僅查詢。

核心視圖家族速查表 (超過 100 家族,列出高頻 20+)

家族核心信息典型查詢場景
TABLES表空間、存儲參數、行數、塊數容量規劃、分區維護
TAB_COLUMNS列名、數據類型、長度、精度、可空性元數據提取、ETL 映射
INDEXES / IND_COLUMNS索引類型、唯一性、列順序、排序索引優化、重建腳本生成
CONSTRAINTS / CONS_COLUMNSPK/FK/UK/Check、啟用狀態、引用表完整性檢查、禁用/啟用腳本
SEGMENTS / EXTENTS段大小、擴展分佈、表空間歸屬碎片分析、空間回收
OBJECTS對象類型、狀態、創建/DDL 時間無效對象排查、部署驗證
USERS / ROLE_PRIVS / SYS_PRIVS用戶屬性、角色/系統權限、ADMIN 選項權限審計、最小權限原則
VIEWS / SYNONYMS視圖定義文本、同義詞鏈接依賴分析、重編譯順序
TRIGGERS觸發事件、時機、觸發體業務邏輯審計、性能影響
SOURCE包/過程/函數/類型源碼 (除觸發器)代碼搜索、版本對比
SEQUENCES緩存值、增量、循環、最後值序列耗盡預警、重置腳本
FREE_SPACE表空間空閒塊分佈擴容決策、碎片整理
COL_PRIVS / TAB_PRIVS列/表級授權詳情細粒度權限審計

重要單一視圖 (非家族)

視圖用途
USER_COL_PRIVS_MADE我授予他人的列權限
USER_COL_PRIVS_RECD我獲得的列權限
USER_TAB_PRIVS_MADE我授予他人的表權限
USER_TAB_PRIVS_RECD我獲得的表權限

實戰技巧

  1. SELECT * FROM DICT WHERE TABLE_NAME LIKE '%TABLE%' 快速搜視圖。
  2. DBMS_METADATA.GET_DDL 導出對象 DDL,比查字典更直觀。
  3. 12c+ CDB_* 視圖對應容器數據庫 (CDB/PDB) 全局視角。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved