2020-05-20 01:06:59
Oracle 数据可恢复到的时间点取决于备份策略、归档模式、损坏时间及回滚段配置,常见恢复时间点包括即时点恢复(PITR)、崩溃恢复、备份/恢复时间点及闪回查询对应的时间点,具体恢复范围需结合用户环境确定。
恢复时间点(RPO)的核心影响因素即时点恢复(PITR)
定义:将数据库恢复到损坏发生前的任意时间点(需精确到秒级)。
条件:必须启用归档模式,并配置闪回区域(Flash Recovery Area)存储归档日志和闪回日志。
操作:通过RMAN使用RESTORE DATABASE UNTIL TIME命令指定目标时间点,结合归档日志重放事务。
示例:若数据库在15:30损坏,且归档日志完整,可恢复至15:29:59。
崩溃恢复
定义:将数据库恢复到最近一次提交事务的点,确保数据一致性。
场景:适用于数据库实例崩溃或存储故障后的快速恢复。
机制:Oracle自动应用重做日志中的未提交事务回滚和已提交事务重做,无需手动干预。
限制:无法恢复至崩溃前的特定中间状态。
备份/恢复时间点
定义:将数据库恢复到特定备份完成的时间点。
操作:通过RMAN使用RESTORE DATABASE和RECOVER DATABASE命令,结合备份集和归档日志完成恢复。
示例:若每周日凌晨2:00执行全量备份,则可恢复至最近一次周日2:00的状态。
闪回查询
定义:查询过去某个时间点的数据快照,无需执行完整恢复操作。
条件:需配置足够的回滚段保留时间(通过UNDO_RETENTION参数设置)。
操作:使用AS OF TIMESTAMP或AS OF SCN子句查询历史数据。
示例:查询10分钟前的订单数据以核对操作记录。