Oracle Enterprise Manager有多"昂贵"?
我正在使用建立在Oracle数据库上的医疗记录系统。我们的供应商刚刚告诉我们,在不使用Oracle的企业管理器服务时,我们需要将其关闭,因为该服务占用了系统过多的资源。我知道我可以通过查看Sysinternals Process Explorer来获取实际数字,但我希望有人可以从他们的亲身经历中给我信息。
完成操作后是否需要关闭EM,还是他过于担心?谢谢。
解决方案
我们也在测试和生产服务器上执行相同的操作。我没有任何指标,但确实在整体数据库响应方面有了显着改善
我唯一想到的是企业管理器(对于Oracle 9和更低版本)是基于Java的。
我想这将使它有可能导致资源失控,但我从未在这里使用过的任何机器上看到任何证据。
利用Oracle的EM,我们可以配置大部分开销。此开销包括轮询许多服务,以在达到阈值时报告警报或者提供性能图表。话虽这么说,如果我们配置了这些功能,那么为什么要全部运行它。
新兴市场不应该那么令人讨厌。我发现使用默认安装(YMMV),每30秒花费不到10%的CPU时间不到2秒,而当系统处于负载状态时,它甚至似乎都没有这样做。
在这里谈论EM时,我不是在谈论oracle.exe进程的负载,而是从nmesrvc和perl,cmd和emagent进程中产生的。要了解其对数据库本身的影响,需要一点oracle专家。
我发现流程浏览器是一个不错的工具,可以实时查看它,因为它显示了来自服务父nmesrvc的流程层次结构。
坦白说,如果在停止dbconsole服务时实际上看到最终用户有所不同,则说明服务器容量过大,我们可能需要长大或者长大。
如果我们使用其他工具来管理和监视oracle及其他应用程序进程,则dbconsole进程不需要一直运行。
要获得有关Oracle的非常具体的问题,并由该领域的一些顶级人士回答,请查看Oracle-L邮件列表。响应时间非常惊人,而且回答的质量通常都比其他地方更高。
我发现仅运行Oracle EM会占用大量资源,具体取决于我们要执行的操作。我发现我很少使用现成的配置,并且通过删除不需要的服务,可以大大减少EM所需的资源量。
通常,我在单独的应用程序服务器上而不是数据库服务器上运行EM。 EM的真正功能和价值是在运行/维护/监视多个数据库以及在其自己的服务器上安装EM时,我不必担心它会影响任何数据库。
EM可以做的所有事情,我们都可以手动完成,如果只管理一个数据库,我通常会走这条路。但是,此路线确实需要合理水平的DBA知识。
这很费力,我喜欢在Linux上运行Oracle,并在初次安装后关闭GUI(Oracle的安装程序需要它)。