oracle:查询闪回,FLASHBACK

如果错误的提交了修改操作,在这情况下,如果想查看修改前的的原来值,可以通过使用查询闪回(query flashback)。

通过这种方法可以改回来,例如word 的 ctrl+z 等等。

闪回操作使用PL/SQL中的DBM_FLASHBACK包。

 

EXECUTE DBMS_FLASHBACK.ENABLE_AT_TIME(SYSDATE -10 / 1440);

上述ENABLE_AT_TIME() 过程可以将数据库状态闪回到一个特定的时间值。 上面是返回10分钟前,24 *60

然后直接 SELECT 就会查找出原来的数据。

想禁止闪回操作, DBMS_FLASHBACK.DISABLE();

如下:

EXECUTE DBMS_FLASHBACK.DISABLE();

也可以通过系统变更好查询闪回

就想设了一个记录点,然后回到记录点的状态

获得当前系统变更号(SCN)的方法:(SQL)

VARIABLE current_scn NUMBER
EXECUTE :current_scn :=DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER();

返回的方法

EXECUTE DBMS_FLASHBACK.ENABLE_AT_SYSTEM_CHANGE_NUMBER(:current_scn);

 

闪回还有很多功能,以后补充。

 

posted @ 2012-04-13 01:43  A_zhu  阅读(390)  评论(0编辑  收藏  举报