提到数据库高可用,Oracle作为先行者,其体系全面,值得参考和学习
1、什么是MAA
参考之前的文章: Oracle最高可用性架构(MAA)|青铜级(BRONZE)
https://www.cnblogs.com/mingfan/p/16804556.html
2、白银级(SILVER)MAA
白银级层建立在青铜级基础上,它引入了集群技术以提高意外中断和计划维护的可用性3、架构
3.1、 Real Application Clusters (Oracle RAC)
3.1.1、同时利用两个或多个Oracle数据库实例
3.1.2、可扩展性
所有实例都处于活动状态
在线扩容
3.1.3、高可用性
1)、将服务自动故障转移到已在运行的实例
2)、中断对用户透明,不影响运行中事务
3)、零停机滚动维护
3.2、透明的应用程序连续性- Transparent Application Continuity (TAC)
3.2.1、在出现故障时透明地跟踪和记录会话信息
3.2.2、内置于数据库中,因此无需更改任何应用程序即可运行
3.2.3、在发生意外故障时重建会话状态并重放正在进行的事务
3.2.4、处理计划内维护,从一个或多个节点清空会话
3.3、计划维护
3.3.1、不停机的计划内维护
1)、停止第一个节点数据库
2)、服务在另一个RAC实例上启动
3)、连接到原服务的会话将被清空
4)、新会话连接到另一个实例上的服务
5)、返回给用户的数据库请求结果
6)、开始维护第一个节点
3.3.2、计划外停机
1)、数据库请求被中断或超时中断
2)、会话重新连接到RAC群集
3)、自动重放请求
4)、返回给用户的数据库请求结果
4、停机矩阵
计划外停机 |
RTO |
RPO |
可恢复的节点或实例故障 |
个位数的秒级 |
0 |
灾难:损坏和站点故障 |
几小时到几天 |
自上次备份 |
计划内维护 |
RTO |
RPO |
软件/硬件更新 |
0 |
0 |
重大数据库升级 |
分钟到小时 |
0 |