本文主要介绍利用UNDO表空间的闪回技术,主要包括:闪回表,闪回版本查询,闪回事务查询,闪回查询.这些闪回技术实现从回滚段中读取表中一定时间内操作过的数据,可用来进行数据比对,或者修正意外提交造成的错误数据.由于利用的是UNDO表空间里记录的数据被改变前的值,因此数据在UNDO空间中保留多久就尤为重要,其中与之关系最紧密的是 UNDO_RETENTION参数. 关于UNDO_RETENTION UNDO_RETENTION 通常默认是900 秒,也就是15 分钟.值得注意是,undo_reten…
Flashback Query 背景:Flashback 是 ORACLE 自 9i 就开始提供的一项特性,在 9i 中利用oracle 查询多版本一致的特点,实现从回滚段中读取表一定时间内操作过的数据,可用来进行数据比对,或者修正意外提交造成的错误数据,该项特性也被称为 FlashbackQuery. Flashback Query 种类:Flashback Query 分 Flashback Query,Flashback Version Query, Flashback Transacti…
基本判断出要恢复误操作的dml的时间可以使用如下的方法进行数据的恢复: example: 一.创建test表 -------create table flashback_asof------ create table flashback_of( id varchar2(5) primary key, name varchar2(20), desc1 varchar2(20), desc2 varchar2(20) ); 二.insert值 ------insert values----- ins…
Flashback query(闪回查询)原理 Oracle根据undo信息,利用undo数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回. Flashback query(闪回查询)前提: SQL> show parameter undo; NAME                                TYPE       VALUE ------------------------------------ ----------- --------…
KingbaseES V008R006C006B0013版本新增支持闪回查询,闪回版本查询.闪回表到指定时间点.旧版本已支持闪回回收站技术. 闪回技术(闪回查询和闪回表到指定时间点)可以通过时间戳和CSN(commit sequence number)两种方式进行. 两种方式目前都需要依赖提交的时间戳,因此需要开启track_commit_timestamp这个参数.另外闪回查询还需要开启kdb_flashback.enable_flashback_query(新版本已默认开启)的参数. 这里解…
Flashback Query闪回查询 flashback query是基于undo表空间的闪回,与之相关的参数如下: SQL> show parameter undo NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ undo_management               …
误删除了部分重要数据,已提交,需要恢复.首先尝试flashback query闪回数据. 数据库运行在归档模式,首先确认数据库的SCN的变化: SQL> col fscn for 999999999999999999999SQL> col nscn for 999999999999999999999SQL> select name,first_change# fscn,next_change# nscn, first_time from v$archived_log; NAME     …
Oracle Flashback Technologies - 闪回查询 查看表中,某行数据的修改记录 #创建一个表,并插入和修改数据 SQL> create table y3(id )); Table created. SQL> insert into y3 values(,'wahaha'); row created. SQL> commit; Commit complete. SQL> update y3 ; row updated. SQL> commit; Comm…
我们有个系统使用了Oracle flashback data archive闪回数据归档特性来作为基于时间点的恢复机制,在频繁插入.更新期间发现SYS_FBA_HIST_NNNN表中的XID被两个事务重用了,导致start_scn相同,于是在执行as of scn/timestamp查询的时候,相同rowid的记录会出来两条,无论是oracle 11.2.0.4还是oracle 18c都能重现,前者几乎100%,后者概率低很多(一开始LZ本地用18c跑了连续四五次都没有出现,以为解决了,后来测试…
上一篇中讲诉了Oracle中一些闪回查询(Flashback Query),这是利用回滚段信息来恢复一个或一些表到以前的一个时间点(一个快照).要注意的是,Flashback Query仅仅是查询以前的一个快照点而已,并不改变当前表的状态. 下面就来看看其他的闪回. 1.Flashback Table  Oracle Flashback Table特性允许利用Flashback Table语句,确保闪回到表的前一个时间点.与Oracle 9i中的Flashback Query相似.要注意的是,F…