Oracle 备份恢复性能优化

Oracle 备份恢复性能优化

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


1. 概述

备份恢复性能优化[1]:

目标

  • 备份窗口短
  • 恢复快速
  • 影响小

详细见:Oracle RMAN 备份恢复


2. RMAN 备份优化

2.1 并行

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 8;
RMAN> CONFIGURE DEVICE TYPE SBT PARALLELISM 4;

2.2 多通道

RMAN> CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/u01/backup/%U';
RMAN> CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '/u02/backup/%U';
RMAN> CONFIGURE CHANNEL 3 DEVICE TYPE DISK FORMAT '/u03/backup/%U';

2.3 大文件

-- Bigfile 表空间
-- 多段备份
RMAN> CONFIGURE BIGFILE TABLESPACE BACKUP TYPE INCREMENTAL;

2.4 压缩

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

2.5 增量

-- Block Change Tracking
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;

-- 增量备份
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;

3. 备份策略

3.1 全备

-- 周末全备
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;

3.2 增量

-- 日增量
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;

-- 累积
RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;

3.3 合并

-- 增量合并
RMAN> BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_update' DATABASE;
RMAN> RECOVER COPY OF DATABASE WITH TAG 'incr_update';

4. 恢复优化

4.1 并行恢复

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 8;

RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;

4.2 增量恢复

-- 快速恢复
RMAN> RECOVER DATABASE;
-- 自动应用增量

4.3 表空间时间点恢复

-- TSPITR
RMAN> RECOVER TABLESPACE users UNTIL TIME "...";

详细见:Oracle RMAN 备份恢复


5. Data Pump 优化

5.1 并行

expdp scott/tiger DIRECTORY=dpump_dir DUMPFILE=data%U.dmp 
  PARALLEL=8 FILESIZE=10G

5.2 直接路径

impdp scott/tiger ... TABLE_EXISTS_ACTION=TRUNCATE

5.3 网络

impdp scott/tiger DIRECTORY=dpump_dir 
  NETWORK_LINK=src_link TABLES=source PARALLEL=8

详细见:Oracle Data Pump 详解


6. Flashback

6.1 Flashback Database

ALTER DATABASE FLASHBACK ON;
ALTER SYSTEM SET db_flashback_retention_target = 1440;

-- 闪回
FLASHBACK DATABASE TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' HOUR);

6.2 Flashback Table

ALTER TABLE employees ENABLE ROW MOVEMENT;
FLASHBACK TABLE employees TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '5' MINUTE);

详细见:Oracle 闪回性能优化


7. 备份性能监控

7.1 RMAN 视图

SELECT * FROM v$rman_backup_job_details;
SELECT * FROM v$backup_set;
SELECT * FROM v$backup_async_io;

7.2 长操作

SELECT 
  sid, 
  opname, 
  sofar, 
  totalwork,
  ROUND(sofar / totalwork * 100, 2) AS pct,
  time_remaining
FROM v$session_longops
WHERE opname LIKE 'RMAN%';

8. 影响生产

8.1 备份时段

- 业务低峰
- 夜间
- 周末

8.2 资源限制

-- Resource Manager
ALTER SYSTEM SET resource_manager_plan = 'backup_plan';

详细见:Oracle 资源管理器 Resource Manager

8.3 I/O 限制

-- 限制备份 I/O
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;

9. 压缩算法对比

算法压缩比CPU速度
BASIC
LOW最快
MEDIUM
HIGH
RMAN> CONFIGURE COMPRESSION ALGORITHM 'MEDIUM';

10. 加密

10.1 透明加密

RMAN> CONFIGURE ENCRYPTION FOR DATABASE ON;
RMAN> CONFIGURE ENCRYPTION ALGORITHM 'AES256';

10.2 密码加密

RMAN> SET ENCRYPTION ON IDENTIFIED BY ****** ONLY;

11. FRA 管理

11.1 大小

ALTER SYSTEM SET db_recovery_file_dest_size = 500G;

11.2 清理

-- 过期备份
RMAN> DELETE OBSOLETE;
RMAN> DELETE EXPIRED BACKUP;

-- 归档
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

详细见:Oracle 归档日志管理


12. 备份验证

12.1 校验

RMAN> BACKUP VALIDATE DATABASE;
RMAN> RESTORE DATABASE VALIDATE;

12.2 逻辑校验

RMAN> VALIDATE DATABASE;
RMAN> VALIDATE CHECK LOGICAL DATABASE;

13. 常见问题

13.1 备份慢

-- 1. 并行
-- 2. 多通道
-- 3. 压缩算法
-- 4. I/O

13.2 ORA-19809

-- FRA 满
-- 1. 清理
RMAN> DELETE OBSOLETE;

-- 2. 增大
ALTER SYSTEM SET db_recovery_file_dest_size = 1T;

13.3 ORA-00257

-- 归档满
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

14. 最佳实践

  1. 并行 + 多通道:性能
  2. 压缩 MEDIUM:平衡
  3. 增量备份:减少数据
  4. BCT:增量快
  5. 业务低峰:影响小
  6. FRA 足够:避免满
  7. 定期清理:空间
  8. 验证备份:可靠
  9. 测试恢复:可行
  10. 监控:及时

15. 参考资料

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