首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 資料字典技術淺析:靜態視圖三層架構與常用查詢

     編輯:Oracle 資料庫相關知識

資料字典分類

  • 靜態資料字典:物件定義、權限、儲存屬性等,查詢時不變 (除非 DDL 變更)。
  • 動態資料字典 (V$ / GV$):效能、等待、記憶體、Session 狀態等,隨系統運行即時變化。

靜態視圖三大前綴

前綴可見範圍權限需求典型視圖
USER_*當前使用者擁有的物件無特殊權限USER_TABLES, USER_OBJECTS, USER_TAB_PRIVS
ALL_*當前使用者有權限存取的物件無特殊權限ALL_TABLES, ALL_VIEWS, ALL_TAB_COLUMNS
DBA_*全資料庫所有物件DBA 權限 / SELECT ANY DICTIONARYDBA_TABLES, DBA_USERS, DBA_SEGMENTS

三者結構一致,僅資料範圍不同;SYS 擁有所有視圖,一般使用者僅見 USER/ALL。

常用 USER_* 視圖範例

  • USER_USERS:當前使用者帳號狀態、預設表空間、建立時間。
  • USER_TABLES:擁有的表名、表空間、叢集、IOT 型態等。
  • USER_OBJECTS:所有物件 (表、視圖、索引、程序、觸發器、套件、序列…) 型態與狀態。
    SELECT OBJECT_TYPE, STATUS
        FROM USER_OBJECTS
        WHERE OBJECT_NAME = UPPER('package1');
  • USER_TAB_PRIVS:對各表的授權細節 (GRANTOR、GRANTEE、PRIVILEGE、GRANTABLE)。

大小寫陷阱

資料字典儲存的物件名稱全為大寫,查詢時務必用 UPPER() 比對,否則找不到資料。

動態視圖 (V$) 入門

  • 即時效能診斷核心,如 V$SESSION_WAIT、V$SQL_PLAN、V$SEGMENT_STATISTICS。
  • RAC 環境用 GV$ 對應視圖 (含 INST_ID)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved