1.Flashback Version Query功能介绍
类似于细粒度审计或LogMiner可以查看什么时间对表执行了什么操作。
例如:
老大说:这个表A中的有些数据怎么无缘无故的被人删除了,快看看是什么时候做的操作。
Flashback:没有问题,我来搞定!
2.Flashback Version Query原理
依赖于AUM
3.Flashback Version Query查询语法
flashback version query一样依赖于AUM,所以,这里就不再多说AUM的配置。flashback version query采用VERSIONS BETWEEN语句来进行查询,常用的有
VERSIONS_SCN – 系统改变号
VERSIONS_TIMESTAMP – 时间
Flashback version query是一个功能强大的工具,可以分析到什么时间执行了什么操作的问题。也可以用于记录的审计,而没有必要去开启细粒度审计功能或者是使用LOGMNR了。
4.具体实验
sec@orcl> create table test_fvq (a int, b varchar2(10));
Table created.
sec@orcl> insert into test_fvq values (1,'17:00:00');
1 row created.
sec@orcl> commit;
Commit complete.
sec@orcl> insert into test_fvq values(1,'18:00:00');
1 row created.
sec@orcl> commit;
Commit complete.
sec@orcl> update test_fvq set a=2,b='19:00:00';
2 rows updated.
sec@orcl> update test_fvq set a=3;
2 rows updated.
sec@orcl> commit;
Commit complete.
sec@orcl> delete test_fvq;
2 rows deleted.
sec@orcl> commit;
Commit complete.
sec@orcl> insert into test_fvq values(4,'20:00:00');
1 row created.
sec@orcl> commit;
Commit complete.
sec@orcl> update test_fvq set a=5,b='21:00:00';
1 row updated.
sec@orcl> commit;
Commit complete.
sec@orcl> col VERSIONS_STARTTIME for a25
sec@orcl> col VERSIONS_ENDTIME for a25
sec@orcl> select versions_starttime, versions_endtime, versions_operation, a, b
2 from test_fvq
3 versions between timestamp minvalue and maxvalue
4 order by VERSIONS_STARTTIME
5 /
VERSIONS_STARTTIME VERSIONS_ENDTIME V A B
------------------------- ------------------------- - ---------- ----------
27-APR-09 08.56.06 AM 27-APR-09 08.56.27 AM I 1 17:00:00
27-APR-09 08.56.15 AM 27-APR-09 08.56.27 AM I 1 18:00:00
27-APR-09 08.56.27 AM 27-APR-09 08.56.36 AM U 3 19:00:00
27-APR-09 08.56.27 AM 27-APR-09 08.56.36 AM U 3 19:00:00
27-APR-09 08.56.36 AM D 3 19:00:00
27-APR-09 08.56.36 AM D 3 19:00:00
27-APR-09 08.56.43 AM 27-APR-09 08.57.01 AM I 4 20:00:00
27-APR-09 08.57.01 AM U 5 21:00:00
8 rows selected.
-- The End --
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70034820/viewspace-2993865/
,如需转载,请注明出处,否则将追究法律责任。