当前位置: 代码迷 >> Oracle技术 >> 关于flashback_transaction_query和dba_fga_audit_trail(已经commit)数据不能匹配的有关问题
  详细解决方案

关于flashback_transaction_query和dba_fga_audit_trail(已经commit)数据不能匹配的有关问题

热度:167   发布时间:2016-04-24 08:07:36.0
关于flashback_transaction_query和dba_fga_audit_trail(已经commit)数据不能匹配的问题
最近在做个oracle和nosql同步的功能。
主要是思路是,调用oracle的审计和闪回,然后通过程序处理写到nosql里面。

最先通过FGA(dba_fga_audit_trail)查询,发现rollback或者还没commit的数据,FGA都有,并且分不出来。后来查询文档看到flashback_transaction_query视图。把他们关联起来以后,就可以查询所有commit成功的数据了。

但是在压力测试中,发现一个很奇怪的问题:flashback_transaction_query缺数据:

数据如下:
数据表(需要同步的表)和FGA中都有某条数据(说明提交成功了)
但是通过xid/scn查询flashback_transaction_query时,只有$FGA记录日志操作,而实际的insert/update操作却没有记录下来,不知道有人碰见过这种情况没?

oracle11gR2
同步工具用java jdbc实现。



------解决方案--------------------
ITpub吧,,,CSDN 这种问题得不到答案滴
------解决方案--------------------
也不一定啊,等大版来看看吧
------解决方案--------------------
扩散!
------解决方案--------------------
顶一下 许哥···哈哈···MARK
------解决方案--------------------

要沉的节奏哇!~~~~
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

忧伤了~要沉了……

不会是中间有很多操作,你的操作记录被覆盖了吧。

保存有个时间限制的。

现在是这样的,数据表有很多insert/update,都是有顺序的,比如insert 1 --> insert 2 --> insert3(都是commit成功了的),在FGA中,3条insert都存在,但是在flashback,insert 1和 insert 3存在,insert 2没有被记录下来。

中间的一条DML没有?奇怪了
------解决方案--------------------
审计?这个实现方式有点奇特,为何不用logminer
  相关解决方案