按照我的理解,Oracle执行事务时,是先提交修改,同时记录修改点的日志,如果最终需要rollback,就根据日志的记录把数据恢复到检查点。
我的问题是,Oracle有没有提供这样的API或者机制,使得我们即使在一个事务commit之后,仍然能够根据之前Commit的日志(Orcale记录的用于rollback的日志或者我们在执行commit时通过Oracle日志记录的日志)在某一时刻进行rollback呢?简单的说,就是我们的外部应用程序能不能得到和分析事务执行的日志记录?
我的问题是,Oracle有没有提供这样的API或者机制,使得我们即使在一个事务commit之后,仍然能够根据之前Commit的日志(Orcale记录的用于rollback的日志或者我们在执行commit时通过Oracle日志记录的日志)在某一时刻进行rollback呢?简单的说,就是我们的外部应用程序能不能得到和分析事务执行的日志记录?
所以,我觉得不应该这么做。
可以使用Oracle提供的闪回技术恢复已经commit的数据。
我现在就去查一下Flashback细节信息,看能不能利用。