1.2.1 什么是高可用 高可用(HA)有两种不同的含义,在广义环境中,是指整个系统的高可用(High Availability)性,在狭义方面,一般指主机的冗余接管,如主机HA,如果不特殊说明,本书中的HA 都指广义的高可用性。在高可用的解释方面,可以分为如下一些方面: (1)系统失败或崩溃(System faults and crashes ) (2)应用层或者中间层错误(Application and middleware failures ) (3)网络失败(Network failures) (4)介质失败,一般指存放数据的媒体介质故障(Media failures) (5)人为失误(Human Error) (6)分级与容灾(Disasters and extended outages) (7)计划宕机与维护(Planned downtime, maintenance and management tasks) 可见,高可用不仅仅包含了系统本身故障、应用层的错误、网络错误、人为错误等,还应当包括数据冗余、容灾及计划的维护时间,也就是说,一个真正的高可用环境,不仅仅能避免系统本身的问题,还应当能防止天灾人祸,并且有一个简单可靠的系统维护方法如微码升级、软件升级等计划停机维护。 本书定位在Oracle 数据库层面上的高可用性,同时也会介绍一些如主机、存储、操作系统、分级存储、容灾方面的高可用性与业务连续性保证。除了应用层及中间层的高可用性仅仅是在本章后面有一定的描述以外,其他部分在本书其他章节都有一定的介绍。 高可用的计算方法一般以年在线率来计算,如规定整个系统一年之中的可用环境要达到 99.95%,那么24*365*(1-99.95%)=4.38小时(包括计划内维护时间)。另外,子系统的可用性一定会高于整个系统的可用性,如承接前面规定整个系统的可用率为99.95%,那么对于数据库子系统,可用性很可能就是要求达到99.99%。高可用性的在线率(可用级别)与停机时间可以参考如图 1-11 所示的对照表: 图 1-11 高可用级别对照表 基于以上的规定,假定一个系统一年之中故障时间是1 小时(差不多 99.99%),但是计划内维护时间却花了20 小时,那么这个系统也不能算是一个满足设计要求的高可用环境。 现阶段使用环境中,基本没有真正的100%的在线环境,或者说,如果达到 100%的在线能力,要付出非常大的代价,所以一般能达到 99.9%以上的可用性的环境,一般都可以认为是比较高的可用环境了。 对于高可用性在线效率的计算,可以参考如图 1-12 所示的方法: 图 1-12 收益与成本 在公司收益与投入成本计算方面取得一个平衡,则是最终...