关于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实现。