本文主要是介绍【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.5-闪回表技术,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 闪回表
Oracle Flashback Table特性允许利用Flashback Table语句,确保闪回到表的前一个时间点。利用回滚段信息来恢复一个或一些表到以前的一个时间点(一个快照)。要注意的是,Flashback Table不等于Flashback Query,Flashback Query仅仅是查询以前的一个快照点而已,并不改变当前表的状态,而Flashback Table将改变当前表及附属对象一起回到以前的时间点。
1.1 概述
闪回表就是对表的数据做回退,回退到之前的某个时间点,其利用的是undo的历史数据,与undo_retention设置有关,默认是14400分钟(1天)。
同样,sys用户表空间不支持闪回表,要想表闪回,需要允许表启动行迁移(row movement)。
1.2 原理和限制
闪回表的原理是利用undo日志,将整张表回退到某个时间点/SCN/restore_point。该时间点之后的所有变更都会被撤销,而数据库其他的部分不受影响。
闪回的表需要满足的以下前提条件:
- 表的类型不能是:物化视图、聚簇的一部分、分区表的一部分、系统表、数据字典视图、远程表、嵌套表等。
- 表结构不能变更过,即在指定的闪回时间窗之内,不能有DDL操作,否则数据将无法恢复。
- 表的行移动必须打开(row movement)。
- 将表里的数据退到
这篇关于【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.5-闪回表技术的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!