Oracle 高可用故障恢复详解
Oracle 高可用故障恢复详解
适用版本:Oracle Database 10g / 11g / 12c / 19c / 23ai 文档版本:v1.0 / 2026-07
1. 概述
高可用故障恢复保证业务快速恢复[1]:
详细见:Oracle 实例恢复详解、Oracle Failover 详解。
2. 故障类型
2.1 节点故障
- 实例崩溃
- 节点宕机
- RAC 切换
2.2 数据库故障
- 数据损坏
- 文件丢失
- 恢复
2.3 数据中心故障
- 整中心
- 灾难
- Failover
2.4 人为错误
- 误删除
- 误修改
- 闪回
3. 节点故障恢复
3.1 RAC
- 节点故障
- 服务切换
- 秒级
3.2 自动
- 集群检测
- 服务迁移
- 应用重连
3.3 恢复
- 节点修复
- 重新加入
- 集群恢复
4. 数据库故障恢复
4.1 实例崩溃
- 自动恢复
- 实例恢复
- 启动
4.2 数据文件
- RMAN 恢复
- 数据文件
- 完整
4.3 块损坏
- RMAN BLOCKRECOVER
- 或备库修复
- 恢复
5. 数据中心故障
5.1 Failover
- Data Guard Failover
- 备库升级
- 应用切换
5.2 评估
- 数据丢失
- RPO
- 验证
5.3 恢复
- 旧主库 Reinstate
- 或重建
- 灾备恢复
详细见:Oracle Failover 详解。
6. 人为错误恢复
6.1 Flashback Database
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
FLASHBACK DATABASE TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' HOUR);
ALTER DATABASE OPEN RESETLOGS;
6.2 Flashback Table
FLASHBACK TABLE emp TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE);
6.3 Flashback Query
SELECT * FROM emp
AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' HOUR);
7. RMAN 恢复
7.1 完全恢复
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN;
7.2 不完全恢复
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE UNTIL TIME "to_date('2026-07-21 10:00:00','YYYY-MM-DD HH24:MI:SS')";
RMAN> ALTER DATABASE OPEN RESETLOGS;
7.3 块恢复
RMAN> BLOCKRECOVER DATAFILE 5 BLOCK 10,11,12;
详细见:Oracle RMAN 备份恢复全集。
8. Data Pump 恢复
8.1 逻辑恢复
impdp system/xxx directory=exp_dir dumpfile=exp.dmp tables=emp
8.2 闪回版本
- Flashback Versions
- 时间点
- 恢复
8.3 表空间
- TTS
- 传输
- 恢复
9. 恢复流程
9.1 评估
- 故障类型
- 数据丢失
- RPO
9.2 选择
- 自动恢复
- 手动恢复
- 方案
9.3 执行
- 快速
- 准确
- 验证
9.4 验证
- 数据完整
- 应用
- 业务
10. RTO 优化
10.1 自动化
- Fast-Start Failover
- 自动
- 秒级
10.2 预案
- 流程
- 命令
- 文档
10.3 演练
- 定期
- 熟练
- 快速
11. 监控
11.1 故障
- 检测
- 告警
- 响应
11.2 恢复
- 进度
- 状态
- 验证
11.3 应用
- 连接
- 业务
- 验证
12. 应用场景
12.1 节点故障
- RAC 切换
- 秒级
- 自动
12.2 数据损坏
- RMAN/Flashback
- 分钟级
- 手动
12.3 灾难
- Data Guard Failover
- 分钟级
- 半自动
13. 常见问题
13.1 恢复慢
- 优化
- 自动化
- 演练
13.2 数据丢失
- RPO 评估
- 保护模式
- 优化
13.3 失败
- 备用方案
- 测试
- 文档
14. 最佳实践
- 自动化:Failover
- Flashback:启用
- 备份:验证
- 预案:流程
- 演练:定期
- 监控:实时
- 文档:记录
- 测试:恢复
- 优化:RTO
- 改进:持续
15. 参考资料
[1] Oracle Database Backup and Recovery User’s Guide 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/