OracleDatabase12c数据库云的最大高可用架构高景强Oracle首席技术顾问eric.gao@oracle.comM:139104241382Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.OracleDatabase12cOracleDatabase12c引入的高可用性重要新功能可以:–大幅缩短计划和意外停机时间–在高可用性和性能之间不必再取舍权衡–极大地提高了运营效率这些将可用性推到了前所未有的新高度–新一代最高可用性架构(MAA)–针对Oracle和数据库云(DBaaS)进行了优化为DBaaS提供极高的可用性3Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.Oracle最高可用性架构(MAA)ActiveDataGuard–数据保护、灾难恢复–查询分流GoldenGate–活动-活动–异构RMAN、Oracle安全备份–备份到磁带/云活动副本(ActiveReplica)基于编辑重新定义、在线重新定义、DataGuard、GoldenGate–最短停机的维护、升级、迁移RAC–可伸缩性–服务器高可用性闪回–人为错误校正生产环境应用程序连续性(AppContinuity)–应用程序高可用性全局数据服务(GlobalDataServices)–服务故障切换/负载平衡4Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.MAA的优势可以被用于查询,报表,测试,补丁和升级–GoldenGate可以支持在主备端同时执行数据更新提供灾难恢复针对各类数据丢失风险提供全面保护–可以自动修复IO环节造成的数据损坏确保容灾系统的可用性–在需要的时候一定可以做失败切换全球范围的Oracle用户将其作为标准广泛采用ActiveDataGuard5Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.OracleDatabase12c高可用性的主要新特性应用程序连续性(ApplicationContinuity)全局数据服务(GlobalDataServices)DataGuard增强RMAN增强其他高可用性增强GoldenGate更新6Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.数据库中断可能导致丢失进行中的工作,使用户和应用程序处于不确定状态通常导致用户问题重复提交重新启动中间层开发人员问题Oracle12c以前正在执行的应用:面对中断应用(AppServer)服务器数据库服务器最终用户(Enduser)7Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.遇可恢复错误时重放进行中的工作成功时可屏蔽许多硬件、软件、网络、存储错误和中断客户端:OracleJDBC-Thin,UniversalConnectionPool(UCP),WebLogicServer,第三方Java应用程序RAC,RACOne,&ActiveDataGuard应用程序连续性(ApplicationContinuity)正在执行的应用可以继续运行屏蔽意外/计划中断重放事务应用服务器数据库服务器最终用户8Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.应用程序连续性-示例可靠地重放未完成的工作应用服务器数据库服务器最终用户网络交换机用户在应用程序中选择产品,并提交订单用户事务到达应用程序,应用程序层对用户事务进行相应的处理然后发起数据库事务9Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.应用程序连续性-示例可靠地重放未完成的工作应用服务器数据库服务器最终用户网络交换机相应的数据库服务器恰好在事务被提交到数据库之前发生故障。10Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.应用程序连续性-示例可靠地重放未完成的工作应用服务器数据库服务器最终用户网络交换机JDBC驱动程序检测到故障,并使用“事务保护”机制询问集群中的其它可用节点,确认事务已提交还是需要重放如果事务需要重放,“应用程序连续性”机制会将所有未完成的工作提交到集群中正常运行的节点,并提交事务。这些操作对应用程序全部是透明的11Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.应用程序连续性-示例可靠地重放未完成的工作应用服务器数据库服务器最终用户网络交换机用户收到订单已成功完成的确认。12Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.OracleDatabase12c高可用性的主要新特性应用程序连续性(ApplicationContinuity)全局数据服务(GlobalDataServices)DataGuard增强RMAN增强其他高可用性增强GoldenGate更新13Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.全局数据服务全局数据服务GlobalDataServices•将RAC式服务--故障切换(Failover)、负载平衡(LoadBalancing)(在数据中心内部及之间)以及管理功能扩展到一组复制数据库•依据网络延迟、复制延迟和服务位置制定策略•提高可用性、改善可管理性并实现最佳性能复制数据库的负载均衡和服务故障切换14Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.全局数据服务GlobalDataServices报表客户端路由到“最佳”数据库–基于位置、响应时间、数据、可接受的数据延迟–报表将自动在负载最低的服务器上运行报表客户端故障切换–如果首选数据库不可用,将路由到同区域的另一数据库或远程数据库全局服务迁移–基于故障切换/转换自动迁移服务-如果主数据库发生故障,则启动新主数据库上的服务ActiveDataGuard示例ActiveDataGuard报表服务ReportingService呼叫中心服务CallCenterServiceGoldenGate15Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.全局数据服务示例:不使用GDS的ActiveDataGuard主数据库活动备用数据库DataGuard订单历史记录视图订单捕获使用ActiveDataGuard备用数据库的关键电子商务应用程序当活动备用数据库发生故障时将出现何种情况?订单服务历史记录服务主数据库活动备用数据库DataGuard订单历史记录视图订单捕获订单服务历史记录服务?16Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.全局数据服务示例:使用GDS的ActiveDataGuard:始终保持高可用性当活动备用数据库发生故障时……GDS将历史记录服务故障切换到主数据库,并通过FAN/FCF重定向连接主数据库活动备用数据库DataGuard订单服务历史记录服务全局数据服务订单历史记录视图订单捕获历史记录服务17Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.OracleDatabase12c高可用性的主要新特性应用程序连续性全局数据服务DataGuard增强RMAN增强其他高可用性增强GoldenGate更新18Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.零数据损失挑战距离越长,性能影响越大同步通信导致性能折中主数据库DataGuard备用数据库提交Commit提交确认CommitACK网络发送NWSend网络确认NWACK19Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.主数据库备用数据库异步ASYNCDataGuard异步-12c以前发生灾难时有丢失数据的风险20Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.远程同步实例(轻量级Oracle实例):控制文件、备用重做日志、归档日志、无数据文件从主数据库同步接收重做日志,并将其以异步方式实时转发到备用数据库发生故障切换时:异步备用数据库以透明方式从远程同步实例获取最后一次提交的重做日志并应用:故障切换零数据损失可以对第二远程同步实例进行预配置,使其在发生故障切换/转换后反向传输终端备用数据库要求为ActiveDataGuard备用数据库ActiveDataGuardFarSync远程同步异步部署时零数据损失21Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.主数据库备用数据库远程同步实例ActiveDataGuardFarSync远程同步操作流程异步同步22Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.主数据库备用数据库远程同步实例ActiveDataGuardFarSync远程同步操作流程无需权衡可用性与性能!异步同步零数据损失23Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.ActiveDataGuardFarSync远程同步优势最佳的数据保护、最小的性能影响低成本、低复杂性是实现近程灾难恢复+远程灾难恢复模型的最佳方式与现有DataGuard异步配置类似DataGuard故障切换?没问题!只管去做吧-不会丢失数据!24Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.ActiveDataGuard实时级联消除传播延迟主数据库备用数据库1备用数据库2在12.1中,备用数据库1会在收到重做时实时将重做转发到备用数据库2:没有等待日志切换的延迟备用数据库2(ActiveDataGuard备用数据库)是最新的,可供只读查询和报告使用同步或异步异步在11.2中,在将重做从存档日志转发到备用数据库2之前,备用数据库1会一直等待日志切换25Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.DataGuardFastSync快速同步降低对主数据库的影响以实现最高可用性主数据库备用数据库重做日志备用重做日志提交提交确认对于同步传输:在将重做写到备用重做日志之前,远程站点会确认收到重做缩短主数据库上的提交延迟灾难恢复更佳-增大了同步距离如果网络往返延迟时间小于本地联机重做日志写入时间,同步传输将不会影响主数据库的性能NSSRFSLGWR提交提交确认确认收到后返回主数据库备用数据库重做日志备用重做日志NSSRFSLGWR26Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.DataGuardOracleDatabase12c中的其他新特性使