7×24 系統無法停機冷備份。開啟歸檔模式後,LGWR 寫滿一組 Online Redo Log 切換前,ARCn 進程將其拷貝為 Archived Redo Log,保留完整變更歷史,支撐:
# 1. 以 sysdba 連接
sqlplus / as sysdba
# 2. 掛載數據庫 (未打開)
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
# 3. 開啟歸檔模式
ALTER DATABASE ARCHIVELOG;
# 4. 設置自動歸檔參數 (init.ora / spfile)
*.log_archive_start=TRUE -- 10g 前啟用自動歸檔
*.log_archive_dest_1='LOCATION=/u01/arch/ORCL VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ORCL'
*.log_archive_format='arch_%t_%s_%r.arc' -- 線程_序列_重置ID
*.log_archive_max_processes=4 -- 並行歸檔進程數
# 5. 打開數據庫
ALTER DATABASE OPEN;
# 6. 驗證
ARCHIVE LOG LIST;
-- Database log mode: Archive Mode
-- Automatic archival: Enabled
-- Archive destination: /u01/arch/ORCL
-- Oldest online log sequence: 107
-- Next log sequence to archive: 109
-- Current log sequence: 109
-- 1. 將表空間置於 BACKUP MODE (凍結检查点 SCN)
ALTER TABLESPACE users BEGIN BACKUP;
-- 2. OS 層拷貝該表空間所有數據文件
cp /u01/oradata/ORCL/users01.dbf /backup/hot/users01.dbf
-- 3. 結束 BACKUP MODE (更新检查点 SCN,寫入控制文件)
ALTER TABLESPACE users END BACKUP;
關鍵機制:BEGIN BACKUP 導致該表空間數據文件頭检查點 SCN 凍結,之後對該表空間的修改會將**整個塊**寫入 Redo Log (而非僅寫變更向量),保證恢復時能從備份文件的「不一致快照」+ 歸檔 Redo 重構一致狀態。
#!/bin/bash
# hot_backup_usermanaged.sh
TS_LIST="system sysaux users undotbs1"
ARCH_DEST="/u01/arch/ORCL"
BACKUP_ROOT="/backup/hot/$(date +%Y%m%d)"
mkdir -p $BACKUP_ROOT/datafile $BACKUP_ROOT/arch $BACKUP_ROOT/controlfile
for ts in $TS_LIST; do
echo "備份表空間: $ts"
sqlplus -s / as sysdba <
當 log_archive_dest 磁盤滿,ARCn 寫入失敗,LGWR 無法覆蓋 Online Redo,數據庫最終 **HANG 住**。必須建立定時清理機制:
# 清理 3 天前歸檔 (配合 RMAN 刪除策略更佳)
find /u01/arch/ORCL -name "arch_*.arc" -mtime +3 -delete
# 或使用 RMAN (推薦,自動感知備份狀態)
rman target / <
rman target / <
優勢:塊級校驗、壓縮、增量、腳本化、目錄庫、自動管理歸檔刪除、並行化、壓縮備份集。
| 現象 | 原因 | 處理 |
|---|---|---|
| ORA-00257: archiver error | 歸檔目錄滿 / 權限錯 / 磁盤故障 | 清理空間、檢查權限、遷移歸檔目錄 |
| ORA-01123: cannot start online backup | 表空間已在 BACKUP MODE | ALTER TABLESPACE ... END BACKUP 或重啟實例自動結束 |
| 備份文件恢復報 ORA-01113/01110 | 未結束 BACKUP MODE 直接拷貝 / 歸檔缺失 | 補全歸檔、執行 RECOVER DATABASE |
| 熱備份後啟動報 ORA-01194 | 文件需更多恢復、缺失歸檔 | RECOVER DATAFILE ... 直到一致 |
ARCHIVELOG 模式是 Oracle 高可用、時間點恢復、熱備份的基石。掌握參數配置、表空間備份模式原理、歸檔空間管理、RMAN 最佳實踐,是資深 DBA 的核心技能。**生產環境請直接使用 RMAN**,用戶管理模式僅供原理學習或極受限環境應急。