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

Linux 下 Oracle 9i RMAN 備份恢復標準作業手冊:從配置到增量策略的完整指令集

     編輯:Oracle 資料庫基礎

一、前置條件:啟用歸檔模式

SQLPLUS /NOLOG
CONN / AS SYSDBA
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
ALTER SYSTEM ARCHIVE LOG START;
EXIT

二、RMAN 連線與基礎配置

RMAN TARGET=rman/rman@mydb  -- 使用恢復目錄用戶

-- 基礎配置 (持久化)
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE DEVICE TYPE DISK PARALLELISM 2;
CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/backup1/backup_%U';
CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '/backup2/backup_%U';
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup1/ctl_%F';

三、常用查看命令

SHOW ALL;           -- 所有配置
REPORT SCHEMA;      -- 資料庫結構報表
LIST BACKUP;        -- 備份集清單
VALIDATE BACKUPSET 3; -- 驗證備份集 3 可用性

四、核心備份命令模板

1. 全量備份 + 歸檔清理 (生產標準)

BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;

2. 表空間級備份

BACKUP TABLESPACE SYSTEM PLUS ARCHIVELOG DELETE INPUT;

3. 僅歸檔日誌備份

BACKUP ARCHIVELOG ALL DELETE INPUT;

4. 資料檔映像複製 (Image Copy)

COPY DATAFILE 1 TO '/oracle/dbs/system.copy';

五、恢復場景實戰

1. SPFILE 從自動備份恢復

SHUTDOWN IMMEDIATE;
STARTUP NOMOUNT;
RESTORE SPFILE TO PFILE '/backup1/mydb.ora' FROM AUTOBACKUP;

2. 控制檔從自動備份恢復

SHUTDOWN IMMEDIATE;
STARTUP NOMOUNT;
RESTORE CONTROLFILE TO '/backup1' FROM AUTOBACKUP;

3. 全庫恢復 (資料檔遺損/損壞)

SHUTDOWN IMMEDIATE;
EXIT
# OS 層重命名模擬損壞
MV /oracle/dbs/tbs_12.f /oracle/dbs/tbs_12.bak
...

RMAN TARGET=rman/rman@mydb
STARTUP PFILE=/oracle/admin/mydb/pfile/initmydb.ora MOUNT;
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN;

4. 表空間恢復 (非 SYSTEM/UNDO)

SQL 'ALTER TABLESPACE USERS OFFLINE IMMEDIATE';
EXIT
MV /oracle/dbs/users01.dbf /oracle/dbs/users01.bak

RMAN TARGET=...
RESTORE TABLESPACE USERS;
RECOVER TABLESPACE USERS;
SQL 'ALTER TABLESPACE USERS ONLINE';

六、增量備份策略:累積 vs 差異

Level 0 = 基礎備份 | Level 1 = 累積 (含上次 Level 0 後所有變更) | Level 2 = 差異 (僅含上次任意備份後變更)

一週輪轉範例

天級別類型命令
Day 10基礎BACKUP INCREMENTAL LEVEL=0 DATABASE PLUS ARCHIVELOG DELETE INPUT;
Day 22差異BACKUP INCREMENTAL LEVEL=2 DATABASE PLUS ARCHIVELOG DELETE INPUT;
Day 32差異BACKUP INCREMENTAL LEVEL=2 DATABASE PLUS ARCHIVELOG DELETE INPUT;
Day 41累積BACKUP INCREMENTAL LEVEL=1 DATABASE PLUS ARCHIVELOG DELETE INPUT;
Day 52差異BACKUP INCREMENTAL LEVEL=2 DATABASE PLUS ARCHIVELOG DELETE INPUT;
Day 62差異BACKUP INCREMENTAL LEVEL=2 DATABASE PLUS ARCHIVELOG DELETE INPUT;
Day 70新基礎BACKUP INCREMENTAL LEVEL=0 DATABASE PLUS ARCHIVELOG DELETE INPUT;

增量恢復流程

同全量恢復:RESTORE DATABASE; RECOVER DATABASE; RMAN 自動識別並應用 Level 0 + 後續 Level 1/2 備份集,無需手動指定。

七、生產環境最佳實踐補充

  1. 恢復目錄:生產環境強制使用 Recovery Catalog (獨立資料庫),而非 Control File,支援更長保留期、跨實例恢復、報表查詢。
  2. 備份加密:CONFIGURE ENCRYPTION FOR DATABASE ON; (10gR2+)
  3. 壓縮備份:BACKUP AS COMPRESSED BACKUPSET ... (10gR2+),節省 50-80% 空間,CPU 換 I/O。
  4. 備份驗證自動化:排程 VALIDATE DATABASE; + RESTORE VALIDATE DATABASE;
  5. 異地備份:備份集同步至遠端存儲 (NFS/SCP/專用備份軟體)
  6. 文檔化演練:季度實戰恢復演練,記錄 RTO 實測值。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved