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

Oracle 常用動態視圖與資料字典視圖速查手冊

     編輯:Oracle 資料庫基礎

V$ 動態效能視圖核心清單

啟動 SQL*Plus 以 SYSTEM/SYSDBA 權限查詢。視圖名中的 V$ 為前綴標識,定義位於 $ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL。

視圖用途
V$CONTROLFILE控制檔資訊
V$DATAFILE資料檔資訊
V$LOG日誌檔資訊
V$PROCESS背景/前台進程資訊
V$SESSION用戶會話資訊
V$TRANSACTION作用中交易資訊
V$RESOURCE資源鎖資訊
V$SGA系統全域區記憶體配置

所有視圖均可直接 SELECT * FROM view_name 查詢。

資料字典視圖三層架構

Oracle 提供三組前綴視圖,權限遞減:

  • DBA_*:全資料庫物件,需 DBA 權限
  • ALL_*:當前用戶可存取物件
  • USER_*:當前用戶擁有物件

核心物件類別速查表

物件類別核心視圖關鍵說明
表與欄位 DBA/ALL/USER_TABLES 表基本資訊
DBA/ALL/USER_TAB_COLUMNS 欄位詳細定義
完整性約束 DBA/ALL/USER_CONSTRAINTS 約束基本資訊
DBA/ALL/USER_CONS_COLUMNS 約束涉及欄位
視圖 DBA/ALL/USER_VIEWS 視圖定義與文字
序列 DBA/ALL/USER_SEQUENCES 序列屬性
同義詞 DBA/ALL/USER_SYNONYMS 同義詞映射
索引 DBA/ALL/USER_INDEXES 索引定義
DBA/ALL/USER_IND_COLUMNS 索引欄位組合
用戶 DBA_USERS 用戶屬性、預設表空間、配置檔
角色 DBA_ROLES 角色定義
表空間配額 DBA_TS_QUOTAS 用戶表空間限額
設定檔 DBA_PROFILES 資源限制、密碼策略
表空間 DBA_TABLESPACES 表空間屬性、狀態、區塊管理
資料檔 DBA_DATA_FILES 資料檔路徑、大小、自動擴展
段 DBA_SEGMENTS, USER_SEGMENTS 段級儲存統計
回滾段 DBA_ROLLBACK_SEGS, V$ROLLNAME, V$ROLLSTAT 回滾段狀態與統計

通用物件視圖

DBA/ALL/USER_OBJECTS 涵蓋所有模式物件(表、視圖、序列、同義詞、程序、套件、觸發器、型別等),適合全庫物件盤點。

實戰查詢範例

-- 查詢當前用戶所有表及欄位數
SELECT table_name, COUNT(*) AS col_cnt
FROM user_tab_columns
GROUP BY table_name
ORDER BY col_cnt DESC;

-- 查詢大於 1GB 的段
SELECT owner, segment_name, segment_type, bytes/1024/1024 AS size_mb
FROM dba_segments
WHERE bytes > 1024*1024*1024
ORDER BY bytes DESC;

-- 查詢用戶預設/暫存表空間
SELECT username, default_tablespace, temporary_tablespace
FROM dba_users
WHERE username IN ('APP_USER', 'REPORT_USER');

DBA 必備查詢腳本庫建議

  1. 每日巡檢:表空間使用率、失效索引、無效物件、長時間會話
  2. 變更前評估:影響物件清單、相依性分析、空間預估
  3. 效能診斷:V$SESSION_WAIT、V$SQL、V$SYSSTAT 差異分析
  4. 安全稽核:DBA_USERS 密碼狀態、DBA_ROLE_PRIVS 權限遞歸

熟練掌握這套視圖體系,是從「會查詢」進階到「會診斷、會規劃、會治理」的關鍵門檻。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved