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

DBA 必知:Oracle 10g 審計功能全面升級詳解

     編輯:Oracle 資料庫基礎

審計演進:從「誰」到「做什麼」

Oracle 9i 僅記錄「誰」執行操作,無法捕捉具體欄位變更前值。細粒度審計 (FGA) 僅支援 SELECT。10g 重大突破:

  1. 標準審計新增綁定變數值、SQL 文本、SCN、交易 ID 等關鍵欄位
  2. FGA 擴充支援 DML (INSERT/UPDATE/DELETE)
  3. 統一審計視圖 DBA_COMMON_AUDIT_TRAIL 整合兩類審計

標準審計新增關鍵欄位

欄位用途
EXTENDED_TIMESTAMP含時區的高精度時間戳 (TIMESTAMP(6)),利於跨時區追蹤
GLOBAL_UID企業使用者全域唯一識別碼(OID 整合場景)
PROXY_SESSIONID代理使用者會話 ID,多層應用審計關鍵
INSTANCE_NUMBERRAC 環境下識別執行操作的實例編號
OS_PROCESS作業系統進程 ID,便於交叉比對追蹤檔
TRANSACTIONID交易 ID,可關聯 FLASHBACK_TRANSACTION_QUERY 取得 UNDO SQL、ROWID、提交 SCN 等
SCN系統變更號,配合閃回查詢 AS OF SCN 重建修改前值

擴充資料庫審計:一鍵捕捉 SQL 與綁定變數

在參數檔設定:

AUDIT_TRAIL = DB_EXTENDED

即可在 AUD$ 記錄完整 SQL 文本與綁定變數值,無需觸發器。

何時仍需觸發器?

  • 避免誤記: 審計以自主交易寫入,即使主交易回滾仍會記錄。若僅想記錄已提交變更,需用觸發器。
  • 保證取得修改前值: 閃回查詢依賴 UNDO 保留期,若資訊已被覆寫則無法恢復;觸發器可即時捕捉前值。

統一審計視圖

DBA_COMMON_AUDIT_TRAIL = DBA_AUDIT_TRAIL UNION ALL DBA_FGA_AUDIT_TRAIL,單一查詢涵蓋所有審計來源。

結語

Oracle 10g 將審計從簡單的「操作記錄器」昇級為詳細的「事實記錄機制」,消除手動觸發器審計需求,並整合標準與細粒度審計,大幅簡化合規追蹤。

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