Oracle Flashback 闪回
Oracle 的闪回技术是一种数据恢复技术,仅能对用户逻辑错误进行恢复,
闪回针对的是提交commit的事务,没有提交的事务,使用rollback
1、闪回版本查询 Flashback Version Query
所谓版本指的是每次事务所引起的数据行的变化情况,每一次变化就是一个版本。
Oracle 提供了闪回版本查询,让我们可以看到数据行的整个变化过程。变化指的是已经提
交的事务引起的变化,没有提交的事务引起的变化不会显示。
闪回版本查询语法
基于 SCN 的版本查询
SELECT <columns>
FROM <schema_name.table_name>
VERSIONS BETWEEN SCN <minimum_scn> AND <maximum_scn>
[WHERE <column_filter>]
[GROUP BY <non-aggregated_columns>]
[HAVING <group filter>
[ORDER BY <position_numbers_or_column_names>]
基于 TIMESTAMP 的版本查询
SELECT <columns>
FROM <schema_name.table_name>
VERSIONS BETWEEN timestamp to_timestamp('start_timestamp') and to_timestamp('end_timestamp')
[WHERE <column_filter>]
[GROUP BY <non-aggregated_columns>]
[HAVING <group filter>
[ORDER BY <position_numbers_or_column_names>]
在查询中我们可以结合伪列进行查询:
VERSIONS_STARTSCN VERSIONS_STARTTIME
该记录操作时的 scn 或时间,如果为空,表示该行记录是在查询范围外创建的。
VERSIONS_ENDSCN VERSIONS_ENDTIME
该记录失效时的 scn 或时间,如果为空,说明记录当前时间在当前表内存在,或者已经被删除
了,可以配合着 VERSIONS_OPERATION 列来看,如果 VERSIONS_OPERATION 列值为 D,说明该列
已被删除,如果该列为空,则说明记录在这段时间无操作。
VERSIONS_OPERATION
对该行执行的操作:I 表示 insert,D 表示 delete,U 表示 update。提示:对于索引键的
update 操作,版本查询可能会将其识别成两个操作:DELETE 和 INSERT。
VERSIONS_XID
该操作的事务 ID
举个例子,使用闪回版本查询来模糊查询刚刚进行操作过的t表:
SYS@orcl> select versions_xid xid,versions_operation v_ops from t versions between scn minvalue and maxvalue;
XID V
--------------------- --
0300180034040000 D
0300180034040000 D
0300180034040000 D
0300180034040000 D
因为不知道scn号所以我们可以用minvalue和maxvalue来模糊查询,
查询结果显示我刚刚对表t执行了D操作即delete操作。
2、闪回事务查询 Flashback Transaction Query
闪回事务查询就是对过去某段时间内所完成事务的查询和撤销,通过闪回事物分析,
可以识别在一个特定的时间段内所发生的所有变化,也可以对数据库表进行事物级恢复。
3、闪回查询
Flashback query
4、闪回表
Flashback Table
5、闪回删除(Flashback Drop)
6、闪回数据库
Flashback Database
7、闪回数据归档
Flashback Data Archive
Oracle Flashback 闪回的更多相关文章
- FlashBack 闪回
[学习目标] Flashback Database 功能非常类似与RMAN的不完全恢复,它可以把整个数据库回退到 过去的某个时点的状态,这个功能依赖于Flashback log日志.比RMAN 更快速 ...
- Oracle的闪回特性之恢复truncate删除表的数据
Oracle的闪回特性之恢复truncate删除表的数据 SQL> show parameter flashback NAME T ...
- oracle的闪回功能
ORACLE的闪回功能: navicat 执行删改语句 不用提交直接执行? 感觉很恐怖? 今天一不下心手一滑 选错 结果把数据库的字段全改了 很慌 然后发现 oracle 有一个闪回功能 专门用来补天 ...
- [Oracle]Oracle的闪回归档
Oracle的闪回归档 场景需求,由于管理数据库的一些核心表,在实施初期会有人为误删除的问题.Oracle 11gR2提供了闪回归档的特性,可以保证不用RMAN来恢复误删除的数据.实践如下: 1.创建 ...
- Oracle 六闪回技术,flashback
Flashback 技术基于Undo segment基于内容的, 因此,限制UNDO_RETENTON参数. 要使用flashback 特征,您必须启用自己主动撤销管理表空间. 在Oracle 11g ...
- Oracle 的闪回技术 --flashback
SQL Fundamentals: 表的创建和管理 如何开启数据库闪回? SQL> shutdown immediate; ORA-01109: database not open Databa ...
- oracle之三闪回flashback
闪回 flashback 5.1 flashback 的功能:1)利用undo data回溯或撤销提交的数据,2)flashback log 使database 可以恢复到过去某个时间点,可以作为不完 ...
- ORACLE 10G 闪回建议
Flashback Tips The following tips and restrictions apply to using flashback features. Flashback Tips ...
- oracle修改闪回日志的位置
改变闪回日志位置的步骤: A.Change the value of the DB_RECOVERY_FILE_DEST initialization parameter to a new value ...
随机推荐
- 基础的jdbc连接数据库操作
首先我们知道在数据库中,我们可以直接写sql或者直接通过数据库工具操作数据,但是在java程序中我们是不能直接操作数据库数据的,所以这就引入了jdbc操作. 百度百科:JDBC(Java Data B ...
- 使用winshark分析三次握手,四次挥手
三次握手 ip 106.120.167.67捕获的数据 数据信息 分析: 从图中可以看出,前三条为三次握手过程,使用TCP协议. 结合图,第一条为建立连接请求,客户端向服务器发送SYN=1的报文, ...
- Mongodb 基础(Z)
Mongodb的客户端支持 作为一款非常成熟NoSQL数据库,Mongdb对各种编程语言的支持已经非常完善了,目前已经支持各大主流编程语言包括:1,mongo shell 2,Python 3,Jav ...
- gnuWin32-mini-2016.10.30
2016-10-28 04:48 1,017,856 awk.exe ver 4.1.4 2016-10-29 00:26 77,312 bc.exe ver 1.06 2016-10-30 01:4 ...
- DCIntrospect -iOS界面调试
原文:http://www.cnblogs.com/kw-ios/p/3523525.html 有时,设计稿上的UI很漂亮,布局也整齐,但自己用代码写出来的就不行,不是这里高一点,就是那是低一点,使用 ...
- PDF虚拟打印机
1.安装福昕PDF阅读器,自己就会安装上PDF虚拟打印机 2.通过office2010之后版本中自带的另存为功能转换为pdf 3.pdf虚拟打印机工具:工具1:http://www.win2pdf.c ...
- 【原创】node+express+socket搭建一个实时推送应用
技术背景 Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新. 应用场景: 监控系统:后台硬件热插拔.LED.温度.电压发生变化 即 ...
- docker--初体验
docker这个词已经越来越热,很多docker的概念是从周围人和知乎上看的,打算从功能上先了解docker,深入的话放在以后. ps:正好手头有一台腾讯云的vps,单核,1G内存,可以拿来做实验,腾 ...
- ubuntu下命令杂项
一. 1.用sudo apt-get install python3-numpy之后,会默认把numpy安装到 /usr/lib/python3/dist-packages目录下,而且版本比较低. ...
- 关于for循环------swift3.0
在程序开发当中,for循环使用的频率无疑是最高的.常用的swift循环是递增式遍历.当然各种循环,swift都能办到.但其大多采用关键字形式实现,大部分开发者更喜欢直接使用C式循环代码.在swift3 ...