闪回:修改提交之后,查询提交之前的记录

管理员用户(sys、system)下的dbms_flashback包

1.给用户(以scott为例)授权操作dbms_flashback包:sqlplus用sys登录,执行命令:grant execute on sys.dbms_flashback to scott;

方式一:按照时间闪回:

用Scott用户登录,执行命令:execute sys.dbms_flashback.enable_at_time(sysdate-10/1440);--闪回十分钟之前的状态;

方式二:按照系统变更号闪回:

获得系统变更号:variable scn number;--声明scn变量名接收系统变更号值

                             execute :scn:=sys.dbms_flashback.get_system_change_number();--获得系统变更号,赋值给scn

                              print scn;--打印当前的系统变更号

根据系统变更号闪回:execute sys.dbms_flashback.enable_at_system_change_number(scn:系统变更号);

2.执行命令:execute sys.dbms_flashback.disable();--禁用闪回,后面查询的结果才能是实时的,否则是闪回的结果。

猜你喜欢

转载自www.cnblogs.com/suhfj-825/p/12322066.html