1、开启闪回查询
SQL> sp_set_para_value(1,'ENABLE_FLASHBACK',1);
2、设置undo闪回时间为600s
SQL> sp_set_para_double_value(1,'UNDO_RETENTION',600);
3、查询现有测试数据
4、删除9开头的数据
SQL> delete from "TEST"."TEST_TABLE" where id like '9%';
SQL> commit;
5、查看修改后的数据
6、查看当前时间
SQL> select sysdate from dual;
行号 SYSDATE
1 2022-03-24 16:01:12
7、指定时间闪回查询(通过闪回查询子句,可以得到指定表过去某时刻的结果集)
1、查看当前数据
2、删除22222 ,33333 两条数据
SQL> DELETE FROM TEST.TEST_TABLE WHERE ID='22222';
SQL> DELETE FROM TEST.TEST_TABLE WHERE ID='33333';
SQL>COMMIT;
3、修改911数据为1006
SQL> UPDATE TEST.TEST_TABLE SET ID=1006 WHERE ID=911;
SQL>COMMIT;
4、查看当前时间
SQL> SELECT SYSDATE();
1 2022-03-28 11:42:12
5、查看VERSIONS_ENDTRXID
6、指定 TRXID 闪回查询,未删除22222,33333,未修改911
指定 TRXID 闪回查询,已删除22222,33333,未修改911
闪回事务查询提供系统视图 V$FLASHBACK_TRX_INFO 供用户查看在事务级对数据库所做的更改。根据视图信息,可以确定如何还原指定事务或指定时间段内的修改。
查看18014对应的行
SQL> select * rowid from TEST.TEST_TABLE where ROWID='18014';
行号 ID ROWID
1 911 18014
文章
阅读量
获赞