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);
闪回还有很多功能,以后补充。