首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 數據安全全景掃描(一):組件架構、重做日志機制與物理邏輯存儲基礎

     編輯:Oracle 資料庫相關知識

前言:安全神話與現實

Oracle 9i 推出時宣稱「絕對安全」,但 2002 年底連續曝光:9iAS 緩衝區溢出 (David Litchfield)、PenTest/eEye 發現的多個漏洞。結論:安全靠配置與運維,不靠營銷口號。

Oracle 核心組件

  • 實例:後台進程 (PMON、SMON、DBWn、LGWR、CKPT、ARCn、RECO 等) + SGA (共享池、數據緩衝、重做日志緩衝、大池、Java 池、流池)。
  • SYSTEM 表空間:數據字典 (核心元數據),1+ 數據文件。
  • 非系統表空間:SYSAUX、UNDOTBS、TEMP、用戶業務表空間。
  • 在線重做日志:≥2 組,多路復用,循環寫入。
  • 歸檔重做日志:ARCHIVELOG 模式下自動生成,支援 PITR、Data Guard、閃回。
  • 控制文件、參數文件 (SPFILE/PFILE)、密碼文件 (orapw)。

重做日志機制

在線日志

  • LGWR 顺序寫入 Redo Entry (Change Vector),記錄塊級變更向量。
  • 提交時 (COMMIT) LGWR 強制刷盤 (LGWR 寫完返回),保證持久性。
  • 檢查點 (CKPT) 定期將脏塊刷盤並更新控制文件/數據文件頭 SCN。

歸檔日志

  • ARCHIVELOG:ARCn 進程複製已填滿日志組到歸檔目標,支援熱備份、介質恢復、邏輯閃回。
  • NOARCHIVELOG:無歸檔,僅支援實例崩潰恢復,不可 7×24 熱備份。

物理與邏輯存儲層級

  1. 塊:最小 I/O,大小創庫定 (2K/4K/8K/16K/32K),DB_BLOCK_SIZE 參數。
  2. 區塊:連續塊集合,最小 5 塊,分配單位 (EXTENT)。
  3. 段:同類對象區塊集合 (表段、索引段、Undo 段、臨時段),屬單一表空間,可跨數據文件。
  4. 表空間:邏輯容器,1+ 數據文件,管理段集合。
  5. 數據文件:物理文件,屬唯一表空間,創建後不可移動/重用。

存儲參數關鍵點

  • INITIAL/NEXT/MINEXTENTS/MAXEXTENTS (舊版字典管理表空間)。
  • 局部管理表空間 (LMT) + 自動段空間管理 (ASSM) 為現代默認,無需手工調整存儲參數。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved