資料庫備份是確保資料可恢復的核心。Oracle 提供三種標準備份方式:邏輯備份(Export/Import)、物理冷備份、物理熱備份。本文詳細比較三者特性、操作步驟與適用場景。
| 方式 | 類型 | 恢復特性 |
|---|---|---|
| Export/Import | 邏輯備份 | 可將任意物件恢復至匯出時狀態 |
| 冷備份 | 物理備份 | 可恢復至資料庫正常關閉時點 |
| 熱備份 | 物理備份 | 可恢復至任意時間點(需 Archive Log) |
Export 逐表讀取,若表間有外鍵關聯,可能導致不一致。解決方式:
CONSISTENT=Y 參數(Oracle 8i+)確保讀取一致性。前提:資料庫正常關閉(SHUTDOWN NORMAL/IMMEDIATE)。
備份檔案清單:所有資料檔、控制檔、線上重做日誌檔、參數檔(可選)。
步驟:
SVRMGR > CONNECT INTERNAL; SHUTDOWN NORMAL;cp 或 tar)。SVRMGR > STARTUP;SVRMGR > STARTUP MOUNT;
SVRMGR > ALTER DATABASE ARCHIVELOG;
SVRMGR > SHUTDOWN;
編輯 init.ora:
log_archive_start = true
log_archive_dest = $ORACLE_HOME/dbs/arch
log_archive_format = log%s.arc
SVRMGR > STARTUP;
關閉資料庫,複製所有資料檔、控制檔、日誌檔至備份目錄,再啟動資料庫。
ALTER TABLESPACE BEGIN BACKUP; 將各表空間置於備份模式。ALTER TABLESPACE END BACKUP; 恢復正常模式。ALTER DATABASE BACKUP CONTROLFILE TO '...'; 備份控制檔。使用 tar 從磁帶恢復檔案,或利用 RECOVER DATABASE 自動應用歸檔日誌恢復至故障點。
文中附有 Export/Import 參數完整表(USERID, BUFFER, FILE, COMPRESS, GRANTS, INDEXES, ROWS, CONSTRAINTS, FULL, OWNER, TABLES, CONSISTENT 等)與熱備份腳本範例。