将100个Oracle实例合并到一个实例中的智慧
我们的应用程序在网络上运行,主要是查询工具,做一些交易.我们托管Oracle数据库.该应用程序对于每个客户一直有不同的Oracle实例.客户是一家公司,为公司的员工提供服务,通常为每位客户10,000-25,000名员工.我们打算有几百个客户.我们每隔几年就做一个重要的发布版本,并且迁移到新的版本是具有挑战性的:我们可能在客户站点有几个星期的团队,解释新的功能并设置适合该客户的驾驶数据.
为了降低成本,我们正在考虑进行多客户端,将所有客户都放在一个大型的“Windows Server 2008”服务器上的单个共享的Oracle 11g实例中.我想知道这是否可取. 为每个客户提供单独的实例有一些优势.告诉我,如果这些是假的,请.在我粗略的猜测下降的重要性: >当对架构进行更改时,我们的客户MyCorp和YourCo可以单独迁移. (与多客户端,我们将在一夜之间迁移300个客户!!!)
我们正在考虑更改数据库模式,并将所有客户合并到一个运行在一个高度服务器上的Oracle实例中. 这是多客户端实例方法的优点,最重要的是(我的WAG).如果这些是假的,请狙击: >减少DBA的工作,因为它们只需要维护一个实例而不是数百个.较少的DBA工作转化为便宜,这是我们改变的主要动机.
我担心有一个多客户端实例使迁移几乎不可能,这是一个交易杀手… …除非有一个妥协的解决方案,如有两个多客户端实例,旧的和新的.在这种情况下,我们将设计跨实例解决方案来查找参与者,报告等,以便客户可以从一个多客户端实例转到下一个,而不会有任何破坏. 除非您使用的Oracle XE(有限的免费版)每个服务器拥有一个数据库将非常昂贵,即使您购买单核心单CPU机箱也非常昂贵.每个服务器拥有几个数据库是低效的,因为每个数据库都会引起CPU和RAM使用的开销.调整更困难,因为争论难以诊断.所以,为了更容易管理,单个大型服务器应该比许多离散的小型服务器便宜得多(不用担保,没有退款!).确保你购买最大,最快的芯片,你可以和尽可能多的RAM,因为你有空闲插槽.这些是在不影响许可费用的情况下提供更好的性能的东西. 考虑分区选项,如果你负担得起的话.这将解决您对备份和恢复的担忧,因为每个分区都可以拥有自己的表空间.所以(通过client_id分配),可以在不影响其他客户端的情况下备份或恢复单个客户端的数据.我们甚至可以导出和导入各个分区.我对David的观察感到惊讶,即分区修剪与VPD无关.但是我没有尝试过这个组合,所以我会接受他的话. 您可能从整合中失去的一件事是能够在不同版本的应用程序上支持不同的客户端.然而,这不一定是坏事.如您所见,如果您放弃个性化版本的应用程序,维护数百个客户将会更容易.如果您确实需要提供一些定制功能 – 即使您只是要测试一些功能与个人客户端 – 然后看看Edition-Based Redefinition in 11gR2:这是一个非常漂亮的功能.它也可用于所有Oracle许可证,而不仅仅是Enterprise. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |