71-Oracle Undo与Flashback管理(Guarantee设置)深度解析

小伙伴们有没有在操作undo表空间、Flashback管理,时间保留设置,总有些配置需要提前预置好,否则闪回查询和表的时候出现报错。

需短期恢复(秒级~小时)直接上UNDO_RETENTION同时启用RETENTION GUARANTEE,Undo为Flashback Query/Table提供基础,时间短。

需全天候整库回退直接启用Flashback Database并设定DB_FLASHBACK_RETENTION_TARGET。通过独立存储实现强时间保证,需要大空间。

一、核心机制对比与联系

1. Undo机制
  • 作用​:存储数据修改前镜像(Before Image),支撑事务回滚、读一致性​(MVCC)及闪回查询​
  • 存储位置​:专用Undo表空间,按回滚段组织。
  • 生命周期​:
    • 事务提交后数据保留时长由UNDO_RETENTION控制(默认900秒)
    • 空间不足时未过期数据可能被覆盖(除非启用RETENTION GUARANTEE)
  • 数据覆盖逻辑​:
-- 查看Undo保留策略
SELECT tablespace_name, retention FROM dba_tablespaces WHERE contents = 'UNDO';
2. Flashback机制分类​

​类型​

​依赖组件​

​恢复粒度​

​时间窗口限制​

​Flashback Query​

Undo表空间

行级

UNDO_RETENTION(默认15分钟)

​Flashback Table​

Undo表空间

表级

同上

​Flashback Drop​

回收站(Recycle Bin)

表及关联对象

表空间空间压力决定

​Flashback Database​

Flashback Logs

数据库级

DB_FLASHBACK_RETENTION_TARGET

(默认24小时)

​Flashback Data Archive​

独立归档区

表级(长期)

用户自定义(可达数年)

3. 核心联系
  • Undo是Flashback的基础​:Flashback Query/Table直接读取Undo中的前镜像数据恢复历史状态 
  • 回收站是Flashback Drop的载体​:被删除对象重命名后暂存于回收站,空间不足时自动清理 
  • Flashback Database依赖独立日志​:使用Flashback Logs记录块变化,与Undo分离&nb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值