在Oracle 12c中可靠的重放未完成的工作过程处理思路清晰,典型的处理过程如下:
1.用户在应用程序中选择产品,并提交订单
2.用户事务到达应用程序,应用程序层对用户事务进行相应的处理然后发起数据库事务
3.相应的数据库服务器恰好在事务被提交到数据库之前发生故障
4.JDBC 驱动程序检测到故障,并使用“事务保护”机制询问集群中的其它可用节点,确认事务已提交还是需要重放
5.如果事务需要重放,“应用程序连续性”机制会将所有未完成的工作提交到集群中正常运行的节点,并提交事务。这些操作对应用程序全部是透明的
6.用户收到订单已成功完成的确认。