妈妈再也不用担心数据库中断了——Oracle 12c的MAA架构

在Oracle 12c之前的数据库版本中,数据库中断可能导致丢失进行中的工作,使用户和应用程序处于不确定状态。引发中断的原因多种多样,可能是用户的问题、数据重复提交、中间层重新启动或者开发人员问题,但如何去寻找中断的原因不是本文的话题。在出现突然的数据库中断之后,如何做到实现零数据丢失的灾难恢复,Oracle 12c推出的高可用特性MAA架构完美的解决了这一难题,为应用程序的连续性提供了保障。它可以屏蔽许多硬件、软件、网络、存储错误和中断,在遇到可恢复错误时重放未完成的工作,同时还能使正在执行的应用可以继续运行。
在Oracle 12c中可靠的重放未完成的工作过程处理思路清晰,典型的处理过程如下:
1.用户在应用程序中选择产品,并提交订单
2.用户事务到达应用程序,应用程序层对用户事务进行相应的处理然后发起数据库事务
3.相应的数据库服务器恰好在事务被提交到数据库之前发生故障
4.JDBC 驱动程序检测到故障,并使用“事务保护”机制询问集群中的其它可用节点,确认事务已提交还是需要重放
5.如果事务需要重放,“应用程序连续性”机制会将所有未完成的工作提交到集群中正常运行的节点,并提交事务。这些操作对应用程序全部是透明的
6.用户收到订单已成功完成的确认。

你可能感兴趣的:(oracle,高可用性,12c,MAA架构)