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

Oracle 資料庫冷備份與熱備份完整詳解:Exp/Imp、RMAN、備份策略實戰

     編輯:Oracle 資料庫基礎

備份分類總覽

類型定義業務影響恢復粒度典型工具
邏輯備份匯出 SQL/二進位邏輯資料無停機 (可能影響效能)表/結構/使用者exp/imp, expdp/impdp
物理冷備份關機複製資料/控制/重做檔完全停機整個資料庫cp/rsync/備份軟體
物理熱備份開機模式複製檔案 + 歸檔日誌無停機表空間/資料檔/區塊RMAN, BEGIN BACKUP

一、邏輯備份:Exp/Imp 與 Data Pump

三種匯出模式

  • 表模式 (T):`exp user/pwd tables=emp,dept file=exp.dmp`
  • 使用者模式 (U):`exp user/pwd owner=scott file=scott.dmp`
  • 全庫模式 (Full):`exp system/pwd full=y file=full.dmp`

增量匯出策略

類型範圍指令範例適用排程
完全整個資料庫`exp system/pwd inctype=complete file=mon.dmp`週一
增量上次備份後變更`exp system/pwd inctype=incremental file=tue.dmp`週二~四
累積上次完全後所有變更`exp system/pwd inctype=cumulative file=fri.dmp`週五

恢復流程 (週日災難)

1. CREATE DATABASE 重建結構
2. 建立大型 UNDO 表空間
3. imp system/pwd inctype=RESTORE full=y file=mon.dmp   (完全)
4. imp system/pwd inctype=RESTORE full=y file=fri.dmp  (累積)
5. imp system/pwd inctype=RESTORE full=y file=sat.dmp  (最近增量)

二、物理冷備份 (Offline Backup)

優點

  • 極速 (僅檔案複製)
  • 簡單可靠、易歸檔 (磁帶/異地)
  • 時間點恢復精確
  • 可結合歸檔日誌做「最新狀態」恢復

缺點

  • 必須停機 (影響可用性)
  • 單獨使用只能恢復到備份時間點
  • 無法表級/使用者級恢復
  • 磁碟空間不足時複製磁帶極慢

必備檔案清單

  1. 所有資料檔
  2. 所有控制檔
  3. 所有線上重做日誌檔
  4. 參數檔 (spfile/init.ora) - 可選但建議

標準流程

-- 1. 正常關機
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;

-- 2. 複製檔案 (OS 指令)
cp /u01/oradata/ORCL/*.dbf /backup/cold/
cp /u01/oradata/ORCL/*.ctl /backup/cold/
cp /u01/oradata/ORCL/redo*.log /backup/cold/
cp $ORACLE_HOME/dbs/spfileORCL.ora /backup/cold/

-- 3. 啟動資料庫
STARTUP;

三、物理熱備份 (Online Backup / RMAN)

前置條件

  • 資料庫必須運行於 ARCHIVELOG 模式:
    `ALTER DATABASE ARCHIVELOG;`
  • 低負載時段執行
  • 充足備份儲存空間

熱備份三階段

  1. 表空間級備份 (BEGIN/END BACKUP)
    `ALTER TABLESPACE users BEGIN BACKUP;`
    `cp /u01/oradata/ORCL/users01.dbf /backup/hot/`
    `ALTER TABLESPACE users END BACKUP;`
  2. 歸檔日誌備份
    `ALTER SYSTEM ARCHIVE LOG CURRENT;` (切換日誌)
    `cp /u01/oradata/ORCL/arch/*.arc /backup/hot/arch/`
  3. 控制檔備份
    `ALTER DATABASE BACKUP CONTROLFILE TO '/backup/hot/control.bak';`

RMAN 現代化備份 (強烈推薦)

-- 完整備份含歸檔
BACKUP DATABASE PLUS ARCHIVELOG;

-- 增量備份 (Level 0 基準 + Level 1 差異)
BACKUP INCREMENTAL LEVEL 0 DATABASE;
BACKUP INCREMENTAL LEVEL 1 DATABASE;

-- 表空間備份
BACKUP TABLESPACE users;

-- 恢復範例
RESTORE DATABASE;
RECOVER DATABASE;

四、雙機熱備 / Data Guard 架構

廣義 vs 狹義

  • 廣義:兩台伺服器互備、共享儲存/資料同步、自動故障轉移
  • 狹義:Active/Standby 模式、共享儲存、心跳偵測、Standby 啟動接管

典型模式

模式架構特點
Active/Standby單一 Primary、一或多 Standby最常見、資源利用率 50%
Active/Active雙 Primary (需應用支援)資源利用率 100%、衝突解決複雜
多機叢集RAC + Data Guard最高可用性、成本最高

核心組件

  • 共享儲存 (SAN/NAS) 或 Data Guard 遠端同步
  • 叢集軟體 (Oracle Clusterware, Veritas, Linux HA)
  • 心跳監控、虛擬 IP (VIP) 漂移、應用啟動腳本

策略選擇建議

  1. 中小型、可接受停機窗口 → 冷備份 + 歸檔日誌
  2. 7x24、RTO < 1小時 → RMAN 熱備份 + 歸檔日誌
  3. 零資料遺失 (RPO=0)、自動故障轉移 → Data Guard 同步模式 (Maximum Availability)
  4. 異地災備、跨機房 → Data Guard 非同步模式 (Maximum Performance)
  5. 極大資料庫 (TB/PB) → RMAN 增量備份 + 存儲快照 (NetApp/EMC/Hitachi)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved