复制自 StackOverflow
是否有任何压倒性的理由来选择其中之一?
我在中间。我们的数据库管理员说 Linux 上的 Oracle 更好,但无法提供证据。我们的硬件管理员只知道 Windows。
现在我们正在使用 Linux,但如果我能找到一些证据证明它是托管 Oracle 的更好操作系统,我会感觉更好。
该数据库有 500 GB 的数据。我知道这并不大,但我们有一些进程正在对我们的 Windows 2003(32 位)服务器征税。
-- 编辑 -- 我已经看到了几个非常好的论点。没有什么可以使决定更容易,但优点仍然存在。看起来没有明确的“坏”选择。
如果您的服务器管理员只知道 Windows(仅限 MS 商店) - 您应该在 Windows 上使用 Oracle ...或者您是否希望作为 DBA 来维护操作系统、安装操作系统补丁、处理操作系统安全性、做 O /S 备份等?
但是,在混店的情况下,我通常会出于各种原因(有些可能是主观的)推荐 Linux 上的 Oracle:
但无论如何,对于您的开发人员来说,在 windows 或 linux 上访问 Oracle 是一样的,完全透明。无论哪种方式,他们都应该为 .NET 检查 Oracle 的好东西。
您还应该看看 Solaris。Solaris 一直得到 Oracle 的极好支持。现在 Sun 已被甲骨文收购,它可能会得到更好的支持。
如果价格是一个问题,您可以很好地使用 OpenSolaris,或者如果您需要强大的支持,则可以使用标准 Solaris。Solaris 选项用于我工作的银行、我们的许多竞争对手以及我居住的州。
也就是说,稳定性/性能/成本/ ...的主要差异可能来自您的管理员最熟悉的平台...
使用 Linux 来支持 64 位(以及因此更好的内存管理)曾经有一个压倒一切的理由——现在随着 x64 WIntel 平台的更稳定支持而减少了这一点。
我无法给你一个明确的答案,但我负责为一家小型开发公司提供 IT 支持,该公司针对 Oracle 7i、8i、9i 和 10i 编写应用程序——所有数据库主机都是在 RHEL 3、4 和 5 上完成的,而不是 Linux .
主要原因是它是 Oracle 批准用于其数据库的最稳定的受支持主机操作系统。由于微软发布了大量补丁,几乎不可能将主机操作系统保持在甲骨文已经测试并支持的水平。
在 Windows 2003 x64 和 RHEL 4 x64 上使用了 Oracle(相同的数据库在 Linux 上的性能比在 Windows 上好得多),后端存储是 EMC 阵列上的 300Gb 光纤提供的 raid 10 分区。
两个系统都“未调整”
这取决于您将从 Oracle(或其他外部支持提供商)获得最佳支持的平台以及您自己最满意的平台组合。
根据我的经验,Oracle的维护成本非常高,这意味着支持质量至关重要。如果您可以在内部完成所有操作,那么您将拥有更多的权力,但如今它是一个非常巨大的野兽,需要大量专用资源才能充分发挥作用,所以就像您不会调用外部有点支持。那么,您可以在哪个平台上获得最好的外部支持?我认为那将是 Linux,但我也认为您会在 Windows 上获得不错的支持。
另一方面,从事物的声音来看,您的内部技能主要是 Windows。现在,您不能依赖外部支持来提供基本的日常运营工作。另外,我怀疑你的 DBA 提倡 Linux。操作系统平台应该有点超出 DBA 的职权范围。仅基于这一点,我肯定会倾向于 Windows。
如果你付钱让 Oracle 自己的咨询团队进来为你设计一个涉及数据库的“交钥匙”系统,那么他们有 98% 以上的机会将其安装在“Oracle Enterprise Linux”上,这是他们自己的 RHEL 更名版本.
这对我来说很重要。
实际上,您不太可能希望运行仅托管 Oracle 实例的服务器。
即使您不打算在那里运行任何其他实际应用程序,您也需要监控、备份/恢复、服务器管理软件和硬件支持软件。
根据运行这些组件的操作系统(或者您最熟悉的操作系统)选择操作系统。您可能想要制作一些自定义的监控脚本/组件;您的开发人员可能会更喜欢其中一种,因此请允许他们在此基础上做出决定。
一些组织有一条“永不中断”的规则,坚持绝对每个 Windows 机器都运行按访问的 AV 软件。这很可能会使 Windows 机器的性能非常糟糕。然而,这不是使用 Linux 的好理由 :)
MS SQL Server 将是 Windows 系统上的首选。在 Linux 上,我会使用 Oracle 作为数据库。我过去曾在 Windows 上与 Oracle 合作过,它几乎与 Linux 下一样好。(Linux 使用 Oracle 更快。)但更重要的是,您的那些数据库管理员能够管理 Linux 硬件吗?如果您的硬件管理员无法这样做,他们将不得不这样做。如果没有,那么您可能决定只使用 Windows 2003(64 位),因为您的组织缺乏适当的知识来保持这些系统在 Linux 上正常运行。
Linux 和 Windows 都有其优点和缺点。两者在专家手中都可以做得很好。两者在业余爱好者手中都是危险的。
如前所述,支持很重要...当您可以选择同时支持两者时,请为您的应用明确定义 SLA。比在两个操作系统中释放数据库,看看你离你的 SLA 有多近。云非常适合这种 A/B 测试。根据我对高性能 SLA 的经验,我可以发现不同 Unix/Linux 发行版的性能差异,更不用说 *nux 与 Microsoft 了。另外,我不相信使用开箱即用的操作系统配置来测试开箱即用的数据库。如果这是进行测试的方式,那么它们就没有用了。大多数 db's 和 os's 可以定制以在不同的组合中更好地运行。不将其视为性能测试的一部分是愚蠢的。我曾经做过的每一次性能测试,我总能找到方法让 Oracle 在某些 *nux 版本上的运行速度比 Windows 快几个数量级。这些操作系统提供了更多的定制选项,并且数据库也可以在更大程度上为 Linux 定制。Linux vs Solaris 可能特别有趣,因为与许多 Linux 发行版相比,solaris 达到最大吞吐量的加速时间通常更慢。
我怀疑任何表明 Windows 性能与 linux 相比的性能测试都是开箱即用的测试,或者测试人员只是不知道如何自定义 linux 和 oracle 的组合。
一般规则是 Oracle 最好在 Solaris 上,然后在 Linux 上,然后在 Windows 上。Oracle 现在拥有 Solaris 并重新打包了自己的 Linux(Red Hat / CentOS 的克隆)。这些是 Oracle 更喜欢的平台。它们也是 Oracle 支持整个堆栈的方式。
不过,我认为 Windows 听起来是您商店的正确选择,因为您的技能已经存在。
这是我在 Win2003 x64 上基于 Oracle 10gR2 10.2.0.3 RAC 的经验:
我有两个生产 RAC 已经运行了两年多,中间有两次维护重启,并且由于补丁应用程序重启了四个实例。所以,在稳定性方面,Win2003 是一个不错的选择。在系统方面,我没什么可抱怨的。它是稳定的,RAC 配置允许良好的可扩展性。
但是,如果您安装(或升级到)RAC,请记住 RAC 安装可能会很棘手,并且 Linux 上的 RAC 有更多文档记录。当我安装这些婴儿时,我有点靠自己,得到了相当多的烧伤,我觉得 Linux/Unix 上的 RAC 得到了更好的支持。