| 前綴 | 可見範圍 | 典型使用者 | 權限需求 |
|---|---|---|---|
| DBA_ | 全資料庫所有物件 | DBA | SELECT ANY DICTIONARY / DBA 角色 |
| ALL_ | 當前使用者擁有權限的物件 | 開發/應用 | 無特殊權限 (預設 PUBLIC 授權) |
| USER_ | 當前使用者擁有的物件 | 擁有者 | 無特殊權限 |
查詢效能:USER_>ALL_>DBA_(後兩者涉及權限檢查與更大字典掃描)。
V$SGA、V$SGASTAT、V$PGASTAT。V$INSTANCE、V$VERSION、V$PARAMETER。V$SESSION、V$PROCESS、V$SESSION_WAIT、V$SESSION_LONGOPS。V$SQL、V$SQLAREA、V$SQL_PLAN、V$SQLSTATS。V$DATAFILE、V$LOGFILE、V$CONTROLFILE、V$TEMPFILE。V$BACKUP、V$RMAN_STATUS、V$ARCHIVED_LOG、V$RECOVERY_FILE_DEST。GV$ 版本含 INST_ID 欄位,跨實例聚合查詢。DBA_TABLES、DBA_TAB_COLUMNS、DBA_TAB_COL_STATISTICS、DBA_TAB_HISTOGRAMS、DBA_TAB_PARTITIONS、DBA_TAB_SUBPARTITIONS。DBA_TAB_STATISTICS (10g+ 統一視圖)。DBA_INDEXES、DBA_IND_COLUMNS、DBA_IND_PARTITIONS、DBA_IND_STATISTICS。DBA_CONSTRAINTS、DBA_CONS_COLUMNS (PK/FK/UK/CHECK/NOT NULL)。DBA_VIEWS、DBA_SYNONYMS、DBA_SEQUENCES。DBA_OBJECTS (含 TYPE、STATUS、CREATED、LAST_DDL_TIME)。DBA_USERS (含 DEFAULT_TABLESPACE、TEMPORARY_TABLESPACE、PROFILE、ACCOUNT_STATUS、PASSWORD_VERSIONS)。DBA_ROLES、DBA_ROLE_PRIVS、DBA_SYS_PRIVS、DBA_TAB_PRIVS、DBA_COL_PRIVS。DBA_PROFILES (密碼/資源限制)。DBA_TABLESPACES、DBA_DATA_FILES、DBA_TEMP_FILES。DBA_SEGMENTS、DBA_EXTENTS、DBA_FREE_SPACE。DBA_ROLLBACK_SEGS (舊版)、DBA_UNDO_EXTENTS、V$UNDOSTAT。DBA_SOURCE、DBA_PROCEDURES、DBA_DEPENDENCIES、DBA_ERRORS、DBA_IDENTIFIERS (11g+ PL/Scope)。DBA_JOBS (舊版 DBMS_JOB)、DBA_SCHEDULER_JOBS、DBA_SCHEDULER_JOB_RUN_DETAILS。DBA_AUDIT_TRAIL、DBA_FGA_AUDIT_TRAIL、DBA_COMMON_AUDIT_TRAIL (12c+ 統一審計)。-- 1. 找出最大的 10 個段
SELECT * FROM (
SELECT owner, segment_name, segment_type, bytes/1024/1024 MB
FROM dba_segments
ORDER BY bytes DESC
) WHERE ROWNUM <= 10;
-- 2. 檢查無效物件
SELECT owner, object_name, object_type, status
FROM dba_objects
WHERE status = 'INVALID'
ORDER BY owner, object_type;
-- 3. 查詢長時間執行的 SQL
SELECT sql_id, elapsed_time/1e6 sec, executions, sql_text
FROM v$sqlstats
WHERE elapsed_time/1e6 > 10
ORDER BY elapsed_time DESC;
-- 4. 表空間使用率
SELECT tablespace_name,
ROUND(used_mb,1) used_mb,
ROUND(free_mb,1) free_mb,
ROUND(pct_used,1) pct_used
FROM (
SELECT df.tablespace_name,
df.bytes/1024/1024 total_mb,
(df.bytes - NVL(fs.bytes,0))/1024/1024 used_mb,
NVL(fs.bytes,0)/1024/1024 free_mb,
ROUND((df.bytes - NVL(fs.bytes,0))/df.bytes*100,1) pct_used
FROM (SELECT tablespace_name, SUM(bytes) bytes FROM dba_data_files GROUP BY tablespace_name) df
LEFT JOIN (SELECT tablespace_name, SUM(bytes) bytes FROM dba_free_space GROUP BY tablespace_name) fs
ON df.tablespace_name = fs.tablespace_name
);
$ORACLE_HOME/rdbms/admin/catalog.sql、catproc.sql。catexp.sql (Exp/Imp)、cataudit.sql (審計)、catsnap.sql (AWR 快照)、catqm.sql (LogMiner) 等。catupgrd.sql、catreq.sql。熟練運用 DBA_/ALL_/USER_ 三層視圖與 V$/GV$ 動態視圖,是 DBA 日常巡檢、效能調優、故障排查、自動化運維腳本開發的基礎語言。