我们正在build立我们的Oracle 10gR2生产环境的计划阶段。 我们的预算使我们能够购买Oracle数据库标准版的2处理器许可证。 我们对甲骨文的经验很less,所以我会推迟使用它的任何人。 我们正在尝试决定是否应在RACconfiguration中设置一个双核四核或两个独立的四核核心盒。
我们现在的数据库大概是60GB,而在我们的高峰期,我们将有多达150个并发用户。 大部分的东西都是在晚上通过批处理完成的。
我的直觉告诉我,在RACconfiguration中有两个盒子不是一件坏事,因为它提供了一个真正的硬件故障转移解决scheme。 DB通过iSCSI存储在SAN上的共享LUN中。 此外,如果我们需要增加容量,我们已经有了可以升级的盒子,如果我们添加额外的许可证或RAM,可以使用额外的procs进行升级(我假设为零停机时间,因为它是在RACconfiguration中设置的)。
RAC是否有任何性能处罚? 会增加额外的延迟吗? 双处理器运行这些系统有没有真正的优势? 如果我们用特殊的硬件构buildOracle盒子:硬件iSCSI卡,TOE网卡,这些盒子是可靠的吗? 我们正在部署在64位Windows上。
那么你会怎么做? 一个或两个?
我会仔细考虑两件事情:
1)10gR2的支持已经开始掉落维护悬崖。 在大约一年的时间内,获得补丁将变得非常昂贵,而且Oracle已经声明最后一个公共补丁将在2010年夏季发布。有没有什么理由不使用版本11构build新的服务器?
2)RAC / Data Guard实际上是非常痛苦的设置和维护。 它不仅需要企业许可证(比标准许可证贵得多),您的服务器操作系统也必须是企业版,并在Windows群集中进行configuration。
就个人而言,如果您可以容忍短暂的停机时间/潜在的数据丢失的可能性,那么使用单个盒子的话会更好,理想的情况是有一个可以分解的“备用”服务器。 这些只是我的意见,我相信他们可能会有争议,但真正有150个高峰用户的60GB的数据库不再那么大。 双核四核机箱也可能比RACconfiguration的性能更好,当然,如果你把双倍的内存容量在单个盒子里。
尽可能保持简单。 除非您有特定的原因(例如性能),否则一个盒子比许多数据库应用程序的要好。
由于configuration错误,硬件故障不太可能导致故障停机。 更简单的configuration通常会减less故障模式。 您可能会发现,实际上,只有一台服务器和一台备用机器上的简单复制数据库,实际上可以获得更可靠的系统。
不要采用比您真正需要的更严格的SLA,也不要为了实现软件,操作和硬件的各个方面都不支持的SLA而增加复杂性。
对“五个九”的可靠性略有不同的看法。
毫无疑问,您的供应商会为其产品提供一些可靠的统计数据。 作为一个计数器,下面是一个关于如何在实践中实现它们实际需要的各个级别的SLA的“九点”
两个九(99%)转换为一个24小时的DR时期,可能与数据仓库系统等应用程序有关,系统不直接支持操作stream程。 通过从备份恢复系统来实现此服务级别。
三个九(99.9%)类似于一个4小时的DR窗口,并且是大多数业务应用程序所需要的。 这种DR策略可以通过简单的日志传送复制和备用服务器来实现。 通常,这种体系结构的简单性意味着它具有相对较less的基于configuration的故障模式,并且在实践中实现相当好的可靠性。 有很多双层4GL应用程序的实例可以通过这种configuration实现持续数月或数年的正常运行时间。
四个九(99.99%)可以看作几分钟的DR窗口,需要热备份或热故障转移架构。 在实践中实现这种types的SLA非常困难,通常需要为其devise的软件。 具有讽刺意味的是,集群式N层架构的额外复杂性由于configuration错误或更改pipe理中的错误而导致更为广泛的故障模式表面。
应该注意的是,configuration错误和不良变更pipe理是数据中心运营中意外停机的最主要原因,而且更有可能导致服务器发生计划外停机而不是硬件故障。
五个九(99.999%)每年不超过几秒的计划外停机时间。 这种types的SLA将您置于为容错而构build的专用硬件和软件领域。 实施这种types的SLA是非常昂贵的,需要专门构build的平台,如大型机和大多数公司没有内部专业技能的人员。
大多数人声称99.999%的SLA充满了狗屎,qv 微软,埃森哲和伦敦证券交易所 。
如果钱是一个问题,我强烈build议另一个RDBMS解决scheme。
RAC和DG非常难以安装和维护。 你真的需要专业知识来pipe理它。 您最好需要SCAN,VIP,HB和HBA。
另外,我强烈build议远离Windows for Oracle。
SAN上的数据也需要是RDM,而不是数据存储。