使用带有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 10G中的一大亮点,它允许用户对DML操作(如误删除、误更新)进行恢复。例如,如果误删了表`t1`的所有记录并已提交,可以通过以下步骤进行恢复: 1. 首先确认删除操作前的系统改变编号(SCN)...
Oracle 11g的核心技术包括数据存储、查询优化、并发控制和事务处理。其中,RAC(Real Application Clusters)是一项关键特性,它允许在多台服务器上共享一个数据库,提高了系统的可用性和可扩展性。此外,闪回技术...
例如,11g引入了自动存储管理(Automatic Storage Management, ASM)、实时应用集群(Real Application Clusters, RAC)、高级压缩、数据屏蔽、闪回技术等。这些新特性极大地提升了数据库的性能、可用性和安全性。 ...
本套中文文档全面涵盖了Oracle11g的各项特性和功能,为学习和使用Oracle11g数据库提供了详实的参考资料。以下是针对Oracle11g的一些核心知识点的详细解析: 1. **数据库体系结构**:Oracle11g数据库基于客户-服务器...
### ORACLE闪回技术恢复指南 #### 引言 本文旨在详细介绍Oracle闪回技术的各种应用场景与操作步骤,帮助读者理解并掌握如何利用Oracle闪回功能有效地进行数据恢复。Oracle闪回技术是一项强大的特性,能够在无需...
### Oracle 10g 回闪技术详解 #### 一、引言 Oracle 10g引入了一系列回闪(Flashback)技术,旨在提供一种快速恢复数据库至特定时间点的能力,而无需传统的备份和恢复过程。这些技术允许数据库管理员轻松地撤消数据...
- **闪回查询**:允许用户查询过去某个时间点的表数据,提供一种时间点查询的能力。 - **闪回版本查询**:提供查看行级数据变化历史的机制,可跟踪数据的历史状态。 - **闪回事务查询**:在事务级别查看数据库的...
4. **闪回技术**:Oracle 11g的闪回功能允许用户轻松地恢复到过去的某个时间点,包括闪回数据库、闪回表、闪回查询等,增强了数据保护能力。 5. **分区技术**:表和索引分区的增强,如范围分区、列表分区、哈希分区...
7. **增强的备份恢复功能**:包括快速恢复区、闪回技术等,极大地简化了备份和恢复操作。 #### 三、Oracle11g_64位_Linux版本的特点 对于Oracle11g在64位Linux环境下的特点,主要包括以下几个方面: 1. **更高的...
Oracle 11g 的闪回技术是数据库管理系统中一种强大的数据恢复工具,旨在快速纠正由于逻辑错误或意外操作导致的数据损坏。闪回技术的核心在于它允许数据库管理员将数据库的状态回滚到过去的一个特定时间点,从而恢复...
7.闪回技术:Oracle 11g引入了闪回功能,如闪回查询(Flashback Query)、闪回表(Flashback Table)、闪回事务(Flashback Transaction)等,允许用户查看或恢复到过去某个时间点的数据状态。 8. 安全性:Oracle...
Oracle 10g闪回技术浅析.pdf
先以闪回查询( Flashback Query)出现在 Oracle 9i 版本中,后来 Oracle 在 10g 中对该技术 进行了全面扩展,提供了闪回数据库、闪回删除、闪回表、闪回事物及闪回版本查询等功能,本 文将重点说闪回删除、闪回表的...
4. **分区表压缩**:Oracle 11g支持对分区表进行压缩,从而减少了存储空间的占用,并提高了查询性能。 5. **闪回数据库**:这是一种新的数据库恢复机制,可以在不丢失任何数据的情况下将整个数据库恢复到过去某个...
闪回技术也是Oracle 11g的重要特性,允许用户“回退”到过去的某个时间点。 六、性能优化 Oracle 11g包含了一系列性能优化工具和特性,如自动工作负载仓库(AWR)、自动统计信息收集、SQL优化顾问等。通过监控和...
1. **数据存储**:Oracle 11g采用了先进的数据存储技术,如自动存储管理(Automatic Storage Management, ASM),它整合了文件系统和卷管理器,简化了存储管理。此外,Oracle 11g还引入了表空间和数据文件的概念,以...
10.6.4 闪回查询 10.6.5 闪回版本查询 10.6.6 闪回事务查询 10.7 几种备份与恢复方法的比较 第11章 控制文件及日志文件的管理 11.1 控制文件 11.1.1 控制文件概述 11.1.2 多路复用控制文件 11.1.3 ...
- **11g支持的闪回方式**:Oracle 11g 支持多种闪回功能,包括但不限于闪回查询、闪回表、闪回事务查询、闪回数据库、闪回删除、闪回版本查询、闪回数据归档等。 #### 五、完全恢复与不完全恢复 - **完全恢复**:...
例如,在金融行业中,银行和保险机构通常使用Oracle 11g来存储和处理大量的交易数据;在零售领域,大型连锁超市利用Oracle 11g进行供应链管理和客户关系管理;而在电信运营商中,则利用Oracle 11g处理海量的计费记录...