一、三大診斷文件類型
| 類型 | 檔案名模式 | 記錄內容 | 觸發時機 | 儲存位置參數 |
| Alert Log | alert_.log | 啟動/關閉、結構變更、錯誤摘要、管理操作 | 日常運行、重大事件 | BACKGROUND_DUMP_DEST |
| 背景進程 Trace | _<進程名>_.trc | SMON/PMON/DBWn/LGWR/CKPT 等後台進程錯誤堆疊 | 後台進程遇到錯誤 | BACKGROUND_DUMP_DEST |
| 用戶進程 Trace | _ora_.trc | 用戶會話 SQL 統計、等待事件、嚴重錯誤 | 會話錯誤或手動開啟 SQL_TRACE | USER_DUMP_DEST |
二、Alert Log 關鍵作用
- 記錄 `STARTUP`/`SHUTDOWN`、`ALTER DATABASE`、`CREATE TABLESPACE` 等命令執行結果。
- 每條帶時間戳,是 **故障診斷首要入口**。
- DBA 必須定期歸檔清理,防止佔滿磁碟。
三、啟用/關閉 SQL Trace
-- 會話級
ALTER SESSION SET SQL_TRACE = TRUE;
-- 或
EXEC DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION(sid, serial#, true);
-- 系統級 (慎用)
ALTER SYSTEM SET SQL_TRACE = TRUE; -- 10g+ 建議用 DBMS_MONITOR
Trace 檔案大小受 `MAX_DUMP_FILE_SIZE` 限制。
四、安裝必備環境變數
| 變數 | 用途 |
| ORACLE_BASE | 軟體安裝頂級目錄 |
| ORACLE_HOME | 具體版本安裝目錄 |
| ORACLE_SID | 例程名稱 (同機多實例唯一標識) |
| ORA_NLS33 | 非 US7ASCII 字元集建庫必須 |
| PATH | 包含 $ORACLE_HOME/bin |
| LD_LIBRARY_PATH | 包含 $ORACLE_HOME/lib |
五、四大內置資料庫對象體系
- 數據字典 (Data Dictionary):唯讀表/視圖,記錄所有物件元資料。DDL 自動維護。
核心視圖:`DBA_*` (DBA)、`ALL_*` (可訪問)、`USER_*` (擁有)。
範例:`SELECT * FROM DBA_USERS;` 查看所有用戶。
- 動態性能視圖 (V$ / GV$):記憶體中虛擬表,反映**實時運行狀態**。實例啟動時存在。
常用視圖:
V$CONTROLFILE -- 控制檔路徑
V$DATABASE -- 資料庫狀態/模式
V$DATAFILE -- 資料檔資訊
V$INSTANCE -- 實例狀態
V$PARAMETER -- 當前生效參數
V$SESSION -- 當前會話
V$SGA -- SGA 摘要
V$SPPARAMETER -- SPFILE 內容
V$TABLESPACE -- 表空間資訊
V$THREAD -- 線程 (RAC)
V$VERSION -- 組件版本
- PL/SQL 套件 (Packages):擴展資料庫功能的程式單元 (如 `DBMS_STATS`, `DBMS_METADATA`, `UTL_FILE`)。
- 資料庫事件觸發器:DDL/登入/啟動/關閉等系統事件觸發執行的邏輯。
六、數據字典結構
- 基表 (Base Tables):`CREATE DATABASE` 時建立,儲存原始元資料 (如 `OBJ$`, `TAB$`, `COL$`),**極少直接查詢**。
- 數據字典視圖:`CATALOG.SQL` / `CATPROC.SQL` 建立,封裝基表複雜邏輯,提供友好介面,透過公共同義詞訪問。
字典內容涵蓋:物件定義、空間分配、完整性約束、用戶/角色/權限、審計記錄。
- 上一篇文章: Oracle SQL 性能優化進階 26 條鐵律 (基礎表選擇、多索引合併、等值/範圍、強制失效、計算欄位、UNION 替代 OR)
- 下一篇文章: SQL Server 與 Oracle 存儲過程語法差異完整對照表與遷移實戰範例
Copyright ©
程式碼之家 All Rights Reserved