ORACLE查询闪回

在Oracle中如果错误地提交了修改操作,然后想查看修改前的值,这时候可以使用查询闪回(query
flashback)。

查询闪回可以根据根据一个时间值或者系统变更号(SCN)进行。

执行闪回操作,要使用户具有EXECUTE权限,下面以sys身份登录,并授权给store用户

一、时间查询闪回

用户store登录,查询customers表

select
* from customers;

然后update
customers set LAST_NAME=LAST_NAME || ‘s‘ ;

commit;

可以看到LAST_NAME被修改了,现在如何查看修改前的数据呢?

使用sqlplus
store登录,执行如下语句,就可以查看修改之前LAST_NAME 没有加“s”

DBMS_FLASHBACK.ENABLE_AT_TIME()
该过程将数据库状态闪回到一个特定的时间值。

DBMS_FLASHBACK.ENABLE_AT_TIME(SYSDATE-10/1440
) 也就是闪存到10分钟之前。

现在执行任何查询就将显示10分钟之前的状态。但是在pl/sql中查询的话
 还是现在现在的状态。

所以可以从这里查看之前数据,然后在pl/sql修改回原来的值。

禁用闪回 EXECUTE
DBMS_FLASHBACK.DISABLE();

这些命令只能在sqlplus
中使用,在pl/sql中不能使用。

二、系统变更号查询闪回

根据SCN进行闪回操作比根据时间进行要更精确,因为数据库就是使用SCN来跟踪数据库的变化。

获得当前SCN命令:

通过下面语句可以闪回到这个SCN的状态

EXECUTE
DBMS_FLASHBACK.ENABLE_AT_SYSTEM_CHANGE_NUMBER(:CURRENT_SCN);

禁用闪回操作

EXECUTE
DBMS_FLASHBACK.DISABLE();

时间: 2024-08-03 21:48:11

ORACLE查询闪回的相关文章

ORACLE 10G 闪回建议

Flashback Tips The following tips and restrictions apply to using flashback features. Flashback Tips – Performance For better performance, generate statistics on all tables involved in a Flashback Query by using the DBMS_STATS package, and keep the s

oracle开启闪回

查看数据库是否是归档模式: SQL> show parameter db_flashback; NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ db_flashback_retention_target        integer     1440 SQL> archive

oracle的闪回

本文前半部分是一个plsql程序,程序实现了对不同职位的员工加薪,更改了数据库的数据.并且commit了事务;后半分结合前面的例子介绍了对oracle中的数据恢复,即如何撤销这个已经commit过的操作.,也由于本人技术水平和表达能力有限,对于概念性的部分和总结引自摘自: http://www.cnblogs.com/chengxiao/p/5860823.html,如果想更详细的了解oracle中的闪回机制可以访问该地址的博文,本文是重点是实例演示 一.首先需求是在emp表中实现: 给员工涨工

Oracle Flashback 闪回

Oracle 的闪回技术是一种数据恢复技术,仅能对用户逻辑错误进行恢复, 闪回针对的是提交commit的事务,没有提交的事务,使用rollback 1.闪回版本查询 Flashback Version Query 所谓版本指的是每次事务所引起的数据行的变化情况,每一次变化就是一个版本. Oracle 提供了闪回版本查询,让我们可以看到数据行的整个变化过程.变化指的是已经提 交的事务引起的变化,没有提交的事务引起的变化不会显示. 闪回版本查询语法 基于 SCN 的版本查询SELECT <colum

Oracle Flashback闪回恢复管理_超越OCP精通Oracle视频课程培训20

oracle视频教程目标 Oracle视频教程,风哥本套oracle教程培训学习oracle数据库关于Flashback概念,Flashback参数设置与归档模式,Flashback恢复案例-Flashback database,Flashback DROP,Flashback Query,Flashback version Query,Flashback Transaction Query,Flashback Table,Flashback Data Archive等常用技术. 适用人群 IT

oracle的闪回查询,闪回删除:

create table t1 as select * from dba_objects; [email protected]> select sysdate from dual; SYSDATE ------------------- 2015-09-20 14:54:10 1 row selected. [email protected]> delete from t1; 0 rows deleted. [email protected]> commit; Commit comple

[课]10.1闪回查询的三种方式:闪回查询/闪回版本查询/闪回事务查询

数据库版本 1.1闪回查询演示 1.2闪回版本查询演示 1.3闪回事务查询演示 在做闪回事务查询时候,我们需要使用ORACLE提供的一个系统视图FLASHBACK_TRANSACTION_QUERY.闪回事务查询与闪回版本查询之间有着密切的关系,从刚才我们实验的闪回版本查询中可以知道有一个伪列VERSIONS_XID,那么闪回事务查询就是通过这个伪列与闪回版本查询发生关联. 我们现在查看一下该表的表结构: 开始演示:

Oracle 六大闪回技术,flashback

Flashback 技术是以Undo segment中的内容为基础的, 因此受限于UNDO_RETENTON参数. 要使用flashback 的特性,必须启用自动撤销管理表空间. 在Oracle 11g里又出了一个新特性:Oracle Flashback Data Archive. FDA通过将变化数据另外存储到创建的闪回归档区(Flashback Archive)中,以和undo区别开来, 这样就可以为闪回归档区单独设置存储策略,使之可以闪回到指定时间之前的旧数据而不影响undo策略. 在Or

Oracle 11g闪回归档技术

闪回数据归档 使用闪回数据归档功能可以自动跟踪和归档启用了闪回数据归档的表中的数据.这可确保闪回查询能够获得对数据库对象版本的 SQL 级别访问权限,而不会出现快照太旧的错误. 利用闪回数据归档功能,可以在"跟踪的"表的整个生命期内跟踪并存储对该表的所有事务处理更改.不再需要将此智能功能内 置到应用程序中.闪回数据归档功能对于遵守规定.审计报告.数据分析和决策支持系统非常有用.闪回数据归档后台进程随数 据库一起启动. 闪回数据归档包含一个或多个表空间.可以拥有多个闪回数据归档,它们都配