我们正处于设置生产 Oracle 10gR2 环境的规划阶段。我们的预算使我们能够购买 2 个 Oracle DB 标准版处理器许可证。我们对 Oracle 的经验很少,所以我会听从任何使用过它的人的意见。我们正在决定是否应该在 RAC 配置中设置单个双四核盒或 2 个单独的四核盒。
我们现在的数据库大约有 60 GB,在高峰期,我们会有多达 150 个并发用户。大多数大任务都是在晚上通过批处理完成的。
我的直觉告诉我,在 RAC 配置中拥有 2 个盒子并不是坏事,因为它提供了真正的硬件故障转移解决方案。数据库通过 iSCSI 存储在 SAN 上的共享 LUN 中。此外,如果我们需要增加容量,我们已经有可以使用额外处理器升级的盒子(我假设没有停机时间,因为它是在 RAC 配置中设置的),如果我们添加额外的许可证或 RAM。
RAC 是否会对性能造成影响?它是否会增加额外的延迟?使用双处理器盒运行这些系统是否真的有优势?如果我们使用特殊硬件(硬件 iSCSI 卡、TOE NIC)构建 Oracle 盒,这些盒是否坚固耐用?我们正在 64 位 Windows 上部署。
那么你会怎么做?一箱还是两箱?
答案1
我会仔细考虑两件事:
1) 10gR2 支持已经开始脱离维护悬崖。大约一年后,获取补丁将变得非常昂贵,而 Oracle 已经声明最后的公共补丁将于 2010 年夏季发布。您在构建新服务器时不使用版本 11 有什么原因吗?
2) RAC/Data Guard 的安装和维护实际上相当麻烦。它不仅需要企业许可证(比标准许可证贵得多),您的服务器操作系统也必须是企业版,并且配置在 Windows 集群中。
就我个人而言,如果您可以忍受短暂停机时间窗口/潜在数据丢失的可能性,那么使用单机箱会更好,最好有一台可以启动的“备用”服务器。这些只是我的观点,我相信它们可能会引起争议,但实际上,60GB 的数据库和 150 个峰值用户已经不再那么大了。双四核机箱的扩展性可能也比 RAC 配置更好,当然,如果您在单机箱中放入两倍的 RAM 量。
答案2
尽可能保持简单。对于大多数数据库应用程序来说,一个盒子比多个盒子要好,除非你有特殊原因 - 例如性能。
硬件故障导致停机的可能性比配置错误导致的故障要小得多。更简单的配置通常会带来更少的故障模式。您可能会发现,在实践中,只需一台服务器和一台备用机器上的简单复制数据库,您实际上就可以获得更可靠的系统。
不要追求比实际需要更严格的 SLA,也不要构建一个额外复杂的系统来实现不受软件、操作和硬件各个方面支持的 SLA。
对“五个九”可靠性略有不同的看法。
毫无疑问,您的供应商会声称他们的产品具有令人印象深刻的可靠性统计数据。作为对比,以下是将各种级别的 SLA 与实际需要实现的 SLA 联系起来的“九分法”:
两个九 (99%) 相当于 24 小时的 DR 周期,可能与数据仓库系统等应用程序相关,因为这些应用程序不直接支持操作流程。此服务级别可通过从备份中恢复系统来实现。
三个九 (99.9%) 相当于 4 小时的 DR 窗口,对于大多数业务线应用程序来说,这已经足够了。这种 DR 策略可以通过简单的日志传送复制和备用服务器来实现。通常,这种架构的简单性意味着它具有相对较少的基于配置的故障模式,并且在实践中实现了相当好的可靠性。有很多两层 4GL 应用程序使用这种配置实现了数月或数年的持续正常运行时间。
四个九 (99.99%) 可视为几分钟的 DR 窗口,需要热备用或热故障转移架构。在实践中实现这种类型的 SLA 非常困难,通常需要为此设计的软件。具有讽刺意味的是,集群 N 层架构的额外复杂性使由于配置错误或变更管理失误而导致的故障模式范围更加广泛。
应该注意的是,配置错误和变更管理不善是数据中心运营中计划外停机的最大原因,并且比服务器硬件故障更容易导致计划外停机。五个九 (99.999%) 要求每年的意外停机时间不超过几秒钟。这种类型的 SLA 让您处于为容错而构建的专用硬件和软件领域。实施这种类型的 SLA 成本高昂,需要专用平台(例如大型机)和大多数公司内部不具备的专业技能的人员。
大多数人声称 99.999% 的 SLA 都是胡说八道,qv微软、埃森哲和伦敦证券交易所。
答案3
如果钱是一个问题,我强烈建议使用其他 RDBMS 解决方案。
RAC 和 DG 的设置和维护非常困难。您确实需要专业知识来管理它。您最好需要 SCAN、VIP、HB 和 HBA。
此外,我强烈建议不要使用 Windows 来运行 Oracle。
SAN 上的数据也需要是 RDM,而不是数据存储。