Oracle 备份策略与最佳实践

Oracle 备份策略与最佳实践

适用版本:Oracle Database 10g / 11g / 12c / 19c / 23ai 文档版本:v1.0 / 2026-07


1. 概述

备份策略是数据保护核心[1]:

目标

  • RPO(Recovery Point Objective)
  • RTO(Recovery Time Objective)
  • 数据完整性
  • 业务连续性

2. 备份类型

2.1 物理

  • RMAN
  • 文件系统拷贝
  • 存储快照

2.2 逻辑

  • Data Pump
  • 传统 exp/imp

2.3 在线

  • Active Data Guard
  • GoldenGate

3. RMAN 备份策略

3.1 基础

- 归档模式
- FRA
- 自动备份控制文件

3.2 增量策略

- 周日:Level 0
- 周一至六:Level 1
- 增量更新备份

详细见:Oracle RMAN 增量备份策略

3.3 保留

- 恢复窗口:7-30 天
- 冗余:2-3 副本
- 归档保留:30-90 天

4. 多副本

4.1 备份副本

RMAN> BACKUP DATABASE PLUS ARCHIVELOG 
  COPIES 2
  FORMAT '/u01/backup/%U', '/u02/backup/%U';

4.2 不同位置

- 本地:快速恢复
- 远程:灾难保护
- 云:异地

5. Data Guard

5.1 同步

- SYNC:零丢失
- ASYNC:性能
- Far Sync:远距离

5.2 备库备份

- 备份在备库
- 主库无影响
- 节省主库资源

详细见:Oracle Data Guard 架构详解


6. Flashback

6.1 Database

- 快速恢复
- 减少恢复时间
- FRA 空间

6.2 表

- 误操作恢复
- 行级
- 快

详细见:Oracle Flashback 技术全集


7. 备份计划

7.1 日级

- 增量备份
- 归档备份
- 验证

7.2 周级

- 全备(Level 0)
- 恢复演练
- 备份清理

7.3 月级

- 备份归档
- 灾难恢复演练
- 策略评估

8. 验证

8.1 BACKUP VALIDATE

RMAN> BACKUP VALIDATE CHECK LOGICAL DATABASE;
RMAN> RESTORE DATABASE VALIDATE;

8.2 恢复测试

- 测试环境恢复
- 数据完整性检查
- 性能评估

9. 监控

9.1 备份状态

SELECT 
  bs_key, bs_type, completion_time, 
  bytes/1024/1024 AS mb, status
FROM v$backup_set
WHERE completion_time > SYSDATE - 7;

9.2 FRA 使用

SELECT 
  name, 
  space_limit / 1024 / 1024 / 1024 AS limit_gb,
  space_used / 1024 / 1024 / 1024 AS used_gb,
  space_reclaimable / 1024 / 1024 / 1024 AS reclaimable_gb
FROM v$recovery_file_dest;

9.3 恢复窗口

SELECT file#, checkpoint_change#, 
  GREATEST(MAX(blocks * block_size), 1) AS mb
FROM v$datafile;

10. RPO / RTO

10.1 RPO

- 数据丢失上限
- 归档频率
- 备份频率
- DG 同步

10.2 RTO

- 恢复时间上限
- Flashback:分钟
- RMAN:小时
- 重建:天

11. 灾备方案

11.1 主备(DG)

- 同城:SYNC
- 异地:ASYNC / Far Sync

11.2 多地

- 主 → 备 1(同城 SYNC)
- 主 → Far Sync → 备 2(异地 ASYNC)

12. 云备份

12.1 OCI

oci os object put --bucket-name backup --file backup.dmp

12.2 S3

aws s3 cp backup.dmp s3://my-bucket/

12.3 OSS

ossutil cp backup.dmp oss://my-bucket/

13. 备份加密

13.1 RMAN

RMAN> CONFIGURE ENCRYPTION FOR DATABASE ON;
RMAN> SET ENCRYPTION ON IDENTIFIED BY ****** ONLY;

13.2 TDE

- 表空间加密
- 列加密

详细见:Oracle RMAN 压缩与加密


14. 备份压缩

14.1 RMAN

RMAN> CONFIGURE COMPRESSION ALGORITHM 'MEDIUM';
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;

14.2 Data Pump

COMPRESSION=ALL

15. 文档化

15.1 策略文档

- 备份类型
- 频率
- 保留
- 责任

15.2 操作 SOP

- 备份步骤
- 恢复步骤
- 故障切换
- 联系人

16. 常见坑与排错

16.1 FRA 满

- DELETE OBSOLETE
- 增大 FRA
- 监控

16.2 备份慢

- 并行
- 压缩
- 网络瓶颈

16.3 恢复失败

- 备份完整
- 归档完整
- 验证

17. 最佳实践

  1. 归档模式:基础
  2. RMAN:官方
  3. 多副本:保护
  4. 增量 + 压缩:高效
  5. Flashback:快速
  6. Data Guard:灾备
  7. 定期演练:可行
  8. 监控告警:及时
  9. 文档化:SOP
  10. 定期评估:调整

18. 参考资料

[1] Oracle Database Backup and Recovery User’s Guide 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/