闪回:修改提交之后,查询提交之前的记录
管理员用户(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();--禁用闪回,后面查询的结果才能是实时的,否则是闪回的结果。