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. 最佳实践
- 并行 + 多通道:性能
- 压缩 MEDIUM:平衡
- 增量备份:减少数据
- BCT:增量快
- 业务低峰:影响小
- FRA 足够:避免满
- 定期清理:空间
- 验证备份:可靠
- 测试恢复:可行
- 监控:及时
15. 参考资料
[1] Oracle Database Backup and Recovery User’s Guide 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/