一套完整的 RMAN 自動備份體系由六支腳本組成,各司其職:
| 腳本 | 角色 | 調用關係 |
|---|---|---|
rman_db_all.sh | 總控腳本,備份整庫 | 依序呼叫 rman_db.sh、scp_rman_db_files.sh |
rman_db.sh | 核心備份邏輯 | 產生兩支 RMAN 子腳本:rman_arch_cr_g.sh(檢查歸檔日誌)、rman_db_backup_g.sh(全庫備份) |
scp_rman_db_files.sh | 異地備份傳輸 | 將備份檔以 scp 複製至備援主機 |
rman_arch_all.sh | 歸檔日誌備份總控 | 呼叫 OS_bak_arch.sh、scp_rman_arch_files.sh |
OS_bak_arch.sh | OS 層面複製新歸檔 | 將新產生的歸檔複製到指定目錄 |
scp_rman_arch_files.sh | 歸檔異地傳輸 | 將指定目錄歸檔 scp 至備援主機 |
BACKUP_SERVER_TARGET、BACKUP_SERVER_SCRIPT_TARGET(備份端);BACKUP_BASE、SCRIPT_FILE_TARGET(資料庫端)。rman_db_all.sh、rman_arch_all.sh 開頭的中文說明行。BACKUP_SERVER_SCRIPT_TARGET,賦予執行權限。rman_db_all.sh:每日一次(全庫備份)。rman_arch_all.sh:每 30 分鐘一次(歸檔備份,控制 RPO)。建議同步調整 LOG_CHECKPOINT_TIMEOUT,確保歸檔切換頻率符合業務容忍的資料遺失窗口。
這套腳本體系以 RMAN 為核心,結合 OS 層歸檔複製與 SCP 異地傳輸,構建了「全備+增量歸檔、本地+異地、自動化排程」的完整備份閉環,適合中小型 Oracle 環境快速落地自動化備份。