Oracle 備份保護的四大核心結構
Oracle 透過四種結構協同保護資料:
- 資料庫備份:構成資料庫的物理檔案(資料檔、控制檔、參數檔)的作業系統層級備份
- 線上重做日誌:記錄所有變更的循環日誌,由 LGWR 背景進程即時寫入
- 回滾段 / Undo:儲存未提交交易的舊值,用於崩潰恢復時回滾非提交變更
- 控制檔:記錄資料庫物理結構狀態(資料檔、日誌檔、檢查點資訊),恢復時的導航圖
線上重做日誌架構
- 每個實例擁有一組線上重做日誌(至少 2 組,每組多個成員)
- 日誌檔循環使用:填滿 → 切換 → 覆寫最舊組
- 日誌條目記錄資料塊變更向量,支援前滾恢復
V$LOG、V$LOGFILE、V$LOG_HISTORY 監控日誌狀態
歸檔日誌:備份恢復的關鍵
當線上日誌填滿需切換時,若啟用歸檔模式,ARCh 進程將填滿的日誌組複製為歸檔日誌檔案。
歸檔日誌的兩大用途
- 介質恢復保障:配合備份檔案,可恢復所有已提交交易,達到零資料遺失 (RPO=0)
- 線上熱備份基礎:資料庫開啟狀態下備份,歸檔日誌記錄備份期間的所有變更,確保備份一致性
兩種資料庫運行模式
| 模式 | 歸檔功能 | 備份能力 | 恢復能力 | 適用場景 |
| NOARCHIVELOG | 關閉 | 僅冷備份 | 僅能恢復至最後一次冷備份點 | 測試環境、可容忍資料遺失的非核心系統 |
| ARCHIVELOG | 開啟 | 冷/熱備份皆可 | 任意時間點恢復 (PITR) | 所有生產環境核心系統 |
啟用歸檔模式步驟
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
-- 驗證
ARCHIVE LOG LIST;
SELECT LOG_MODE FROM V$DATABASE;
Oracle 備份分類與特性對比
邏輯備份
- 工具:Data Pump (
expdp/impdp)、傳統 exp/imp
- 內容:資料庫物件定義 + 資料(SQL 層面)
- 優點:跨版本/平台遷移、可篩選物件、檔案可攜帶
- 缺點:大資料量慢、不支援區塊級恢復、無法直接用於介質恢復
物理備份
- 內容:資料檔、控制檔、日誌檔、參數檔的區塊級複製
- 分類:
- 冷備份:資料庫正常關閉 → 複製所有檔案 → 開啟。最簡單、最安全、需停機
- 熱備份:資料庫開啟 (ARCHIVELOG) →
BEGIN BACKUP → 複製檔案 → END BACKUP。零停機、需歸檔日誌支援
三種備份模式特性對比表
| 模式 | 類型 | 恢復特性 | 停機需求 | 儲存空間 | 複雜度 |
| Export (Data Pump) | 邏輯 | 物件級恢復至匯出時間點 | 無 | 中(壓縮後) | 低 |
| 冷備份 | 物理 | 關閉點恢復;若 ARCHIVELOG 可任意時間點 | 是 | 大(原始大小) | 低 |
| 熱備份 | 物理 | 任意時間點恢復 (PITR) | 無 | 大(原始大小) | 中 |
| RMAN 完整備份 | 物理 | 任意時間點、區塊級、增量備份 | 無 | 可壓縮、去重 | 中高 |
| RMAN 增量備份 | 物理 | 結合完整備份做任意時間點 | 無 | 小(僅變更區塊) | 中高 |
RMAN 核心優勢
- 區塊級壓縮備份:僅備份已變更區塊,跳過空白區塊
- 增量備份:僅備份自上次備份後變更的區塊,支援累積/差異模式
- 腳本化自動化:儲存於恢復目錄,可重複調用、排程執行
- 備份記錄與報表:
LIST、REPORT 指令查詢備份狀態、過期、冗餘
- 恢復目錄:獨立資料庫儲存備份中繼資料,控制檔損壞仍可恢復
- 並行處理:多通道同時讀寫,充分利用 CPU/IO 頻寬
- 第三方媒體管理整合:支援 Veritas、NetBackup、TSM 等磁帶庫
- 資料庫複製:從備份建立測試/開發環境副本
- 備份驗證:
VALIDATE 檢查備份可用性、壞塊偵測
- 交叉檢查:
CROSSCHECK 驗證備份件與目錄記錄一致性
Oracle 角色管理與安全性基礎
資料庫安全性四層防線:
- 認證:用戶名/密碼、OS 認證、網路服務認證、PKI/SSL、Kerberos、RADIUS
- 授權:系統權限、物件權限、角色(角色可授予角色)、最小權限原則
- 存取控制:視圖限制行/欄、VPD (Virtual Private Database) 細粒度行級安全、OLS (Oracle Label Security) 標籤安全
- 稽核:標準稽核、精細稽核 (FGA)、統一稽核 (12c+)、Syslog 整合
常用角色管理指令
-- 建立角色
CREATE ROLE APP_READONLY;
GRANT SELECT ON SCHEMA.TABLE TO APP_READONLY;
-- 授予角色給用戶
GRANT APP_READONLY TO USER1;
-- 密碼驗證函數
CREATE PROFILE SECURE_PROFILE LIMIT
PASSWORD_LIFE_TIME 90
PASSWORD_REUSE_TIME 365
PASSWORD_VERIFY_FUNCTION ORA12C_VERIFY_FUNCTION;
ALTER USER USER1 PROFILE SECURE_PROFILE;
總結:備份策略制定核心原則
- 生產環境強制 ARCHIVELOG + RMAN
- RPO=0 需求:每日完整備份 + 每小時增量備份 + 即時歸檔日誌備份至異地
- RTO 需求:定期演練恢復、預先腳本化、備份驗證自動化
- 3-2-1 原則:3 份副本、2 種媒體、1 份異地
- 備份內容完整性:資料檔 + 控制檔 + 參數檔 + 歸檔日誌 + 密碼檔
- 加密與壓縮:RMAN
BACKUP AS COMPRESSED BACKUPSET + CONFIGURE ENCRYPTION FOR DATABASE ON
備份不只是「備份」,而是「可驗證、可恢復、有演練」的完整體系。沒有恢復演練的備份,只是佔用磁碟空間的檔案。
- 上一篇文章: Oracle RMAN 表空間級恢復實戰操作指南
- 下一篇文章: Oracle 高級複寫同步複寫配置完整 8 步驟實戰
Copyright ©
程式碼之家 All Rights Reserved