使用带有AS OF子句的SELECT语句进行闪回查询。闪回查询获取之前的时间点的数据。
语句通过时间戳或SCN显示地引用过去的时间。返回在那个时间点当时已经提交的数据。
闪回查询的使用包括:
1. 恢复丢失的数据、撤销不正确的且已经提交的改变。例如,如果你错误地删除或更新了行并且提交了,可以立即撤销这个错误。
2. 比较当前的数据和早些时候的数据。例如,可以运行一个日报表,来显示数据从昨天到今天的变化。
可以比较单独的行;也可以查看行集合的交集和并集。
3. 查看事务数据在特定的时间的状态。例如,可以验证某一天的帐户余额。
4. 通过消除存储一些类型的临时数据所需要,简化应用程序的设计。Oracle允许你直接从数据库获取过去的数据。
5. 对过去的数据应用打包的应用,例如报告产生工具。
6. 为应用提供了错误改正的自我服务,允许用户undo和改变他们的错误。
示例A. 检查和还原过去的数据
假设12:30 PM发现员工Chung所对应的数据行被从employees表中删除了。并且你知道在9:30 AM时,Chung的数据在数据库中是正常的。可以使用闪回查询来查看在9:30 AM时表中的内容,来找到丢失的数据。如果需要,可以还原数据。
-- 使用闪回查询获取丢失的行 SELECT*FROM employees ASOFTIMESTAMP TO_TIMESTAMP('2004-04-04 09:30:00','YYYY-MM-DD HH:MI:SS') WHERE last_name ='Chung';
--使用闪回查询还原丢失的行 INSERTINTO employees ( SELECT*FROM employees ASOFTIMESTAMP TO_TIMESTAMP('2004-04-04 09:30:00','YYYY-MM-DD HH:MI:SS') WHERE last_name ='Chung' ); |
Oracle闪回查询指导
1. 可以对每个表指定或省略AS OF子句,对不同的表指定不同的次数。
注意:如果一个表是闪回数据归档,并且指定了时间比它创建的时间还要早,则查询会返回0行,而不会引起错误。
2. 可以在查询中使用AS OF子句来执行DDL操作(例如创建和截断表),
也可以用来在和闪回查询相同的会话中执行DML操作(INSERT、DELETE)。
3. 在影响数据库当前状态的DDL语句或DML语句中使用闪回查询的结果,
可以在INSERT或CREATE TABLE AS SELECT语句中使用AS OF子句。
4. 如果在应用中,这种3秒钟的误差对于闪回查询是重要的,则使用SCN而不是时间戳。
5. 可以使用创建视图引用过的数据,即在视图定义的SELECT语句中使用AS OF子句。
如果指定一个相对时间,即从数据库主机的当前时间减去,则对于每个查询,时间要重新计算。
CREATEVIEW hour_ago AS SELECT*FROM employees ASOFTIMESTAMP(SYSTIMESTAMP -INTERVAL'60'MINUTE); |
6. 可以在自连接或集合操作中使用AS OF子句,来提取和比较来自于不同时间的数据。
可以通过在闪回查询之前加上CREATE TABLE AS SELECT或INSERT INTO TABLE SELECT,来存储闪回查询的结果。
INSERTINTO employees (SELECT*FROM employees ASOFTIMESTAMP(SYSTIMESTAMP -INTERVAL'60'MINUTE)) MINUS SELECT*FROM employees); |
相关推荐
很好,实用的闪回技术实践,对深入学习oracle,玩转oracle,有很大帮助作用,《Oracle10G-闪回技术》实验手册,主要讲述10G之后相关主要闪回技术玩法,很经典,主要为实践居多
Oracle数据库10g备份和恢复:RMAN和闪回技术
Oracle 10g闪回技术浅析.pdf
先以闪回查询( Flashback Query)出现在 Oracle 9i 版本中,后来 Oracle 在 10g 中对该技术 进行了全面扩展,提供了闪回数据库、闪回删除、闪回表、闪回事物及闪回版本查询等功能,本 文将重点说闪回删除、闪回表的...
Oracle 10g闪回技术及实现.pdf
10.6.4 闪回查询 10.6.5 闪回版本查询 10.6.6 闪回事务查询 10.7 几种备份与恢复方法的比较 第11章 控制文件及日志文件的管理 11.1 控制文件 11.1.1 控制文件概述 11.1.2 多路复用控制文件 11.1.3 ...
浅谈Oracle11g的闪回技术.pdf
oracle 10g的闪回技术总结 oracle 10g的闪回一共有三种: 1、全库闪回 2、表被drop后的闪回 3、表被dml操作之后的闪回(dml操作指delete、insert、update三种操作)
Oracle 10g闪回技术在维护“军卫一号”信息系统中的应用.pdf
以及Oracle的系统结构、数据库的创建与客户端的连接、存储设置与管理、对象的创建与管理、数据操纵与事务处理、数据查询、PLSQL语言基础、PLSQL程序开发、PLSQL高级特性、数据库的启动与关闭、安全管理、备份与恢复...
详解oracle_10g中针对数据表级、行级、数据库级别的闪回技术,快速恢复误操作的数据!
第27章 使用回闪查询 第28章 回闪:表和数据库 第Ⅳ部分 Pl/SQL 第29章 PL/SQL简介 第30章 触发器 第31章 过程、函数与程序包 第32章 使用本地动态SQL和DBMS_SQL 第Ⅴ部分 对象关系数据库 第33章 实现类型、对象视图...
Oracle 10g数据库基础闪回技术
《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象,...
oracle 数据库 10g的备份与恢复特性-恢复管理器与闪回查询技术
通过命令行或Oracle企业管理器(OEM)使备份进程自动化,执行Oracle闪回恢复操作以及集成云计算技术。作为权威的资源,《Oracle Database 11g RMAN备份与恢复》也提供有关创建报告、优化性能以及执行第三方管理实用...
oracle学习课程进度表详细介绍Oracle11g...网络服务与网络管理 数据库的审计 使用优化器指示 Oracle闪回技术 磁盘组介绍 Oracle11g数据库结构和存储 闪回数据库 11g ASM新特性 Oracle数据库启动和关闭 答疑时间
10.6.4 闪回查询 10.6.5 闪回版本查询 10.6.6 闪回事务查询 10.7 几种备份与恢复方法的比较 第11章 控制文件及日志文件的管理 11.1 控制文件 11.1.1 控制文件概述 11.1.2 多路复用控制文件 11.1.3 控制文件...
Oracle 数据库 10g的备份与恢复特性:恢复管理器与闪回查询技术
第29章 使用闪回查询 第30章 闪回:表和数据库 第31章 sql 重放 第ⅳ部分 pl/sql 第32章 pl/sql 简介 第33章 应用程序在线升级 第34章 触发器 第35章 过程、函数与程序包 第36章 使用本地动态sql 和...