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

Oracle 診斷文件與內置資料庫對象全景:Alert Log、Trace 文件、數據字典、動態性能視圖

     編輯:Oracle 資料庫基礎

一、三大診斷文件類型

類型檔案名模式記錄內容觸發時機儲存位置參數
Alert Logalert_.log啟動/關閉、結構變更、錯誤摘要、管理操作日常運行、重大事件BACKGROUND_DUMP_DEST
背景進程 Trace_<進程名>_.trcSMON/PMON/DBWn/LGWR/CKPT 等後台進程錯誤堆疊後台進程遇到錯誤BACKGROUND_DUMP_DEST
用戶進程 Trace_ora_.trc用戶會話 SQL 統計、等待事件、嚴重錯誤會話錯誤或手動開啟 SQL_TRACEUSER_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` 限制。

四、安裝必備環境變數

五、四大內置資料庫對象體系

  1. 數據字典 (Data Dictionary):唯讀表/視圖,記錄所有物件元資料。DDL 自動維護。
    核心視圖:`DBA_*` (DBA)、`ALL_*` (可訪問)、`USER_*` (擁有)。
    範例:`SELECT * FROM DBA_USERS;` 查看所有用戶。
  2. 動態性能視圖 (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          -- 組件版本
    
  3. PL/SQL 套件 (Packages):擴展資料庫功能的程式單元 (如 `DBMS_STATS`, `DBMS_METADATA`, `UTL_FILE`)。
  4. 資料庫事件觸發器:DDL/登入/啟動/關閉等系統事件觸發執行的邏輯。

六、數據字典結構

  • 基表 (Base Tables):`CREATE DATABASE` 時建立,儲存原始元資料 (如 `OBJ$`, `TAB$`, `COL$`),**極少直接查詢**。
  • 數據字典視圖:`CATALOG.SQL` / `CATPROC.SQL` 建立,封裝基表複雜邏輯,提供友好介面,透過公共同義詞訪問。

字典內容涵蓋:物件定義、空間分配、完整性約束、用戶/角色/權限、審計記錄。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
變數用途
ORACLE_BASE軟體安裝頂級目錄
ORACLE_HOME具體版本安裝目錄
ORACLE_SID例程名稱 (同機多實例唯一標識)
ORA_NLS33非 US7ASCII 字元集建庫必須
PATH包含 $ORACLE_HOME/bin
LD_LIBRARY_PATH包含 $ORACLE_HOME/lib