在同一台机器上运行多个 Oracle 数据库

在同一台机器上运行多个 Oracle 数据库

我们有一个为大约 50 个政府组织服务的政府人力资源系统,创建该系统的公司希望将当前系统的结构(一个为所有组织服务的数据库)更改为以下结构:

1)中央共享数据库,其中包含所有组织使用的共享数据,如查找表。

2)每个组织的数据库具有相同的数据库结构,但数据会因组织而异(例如,卫生部有自己的雇员的人力资源数据,内务部也有自己的雇员数据)。因此,系统将从服务于50个组织的单一数据库变为1个共享数据库+50个具有相同结构(表、表空间、数据文件等)的数据库,总共51个数据库。

该系统并不是那么大,例如转储的大小为 50GB,数据文件的总大小约为 200GB 或更少,应用程序用户的数量约为 2000 个用户,并且他们不是并发的。我认为该公司正在以可疑的方式做这件事,或者他们试图让管理层认为他们有一个庞大的系统。

问题如下:

1)将系统结构从一个数据库更改为多个数据库,执行相同的操作但使用不同的数据是最佳实践。

2)如果我们使用单台机器上可以使用的数据库(oracle 11g)的最大数量是多少。

3)特别为了高可用性而采用冗余解决方案是否浪费资源?

谢谢

答案1

您指的是将数据库视为不同的物理服务器吗?或者甚至是不同的 Oracle 实例?如果是这样,我会说这是一个糟糕的举动,您对所有基础设施的管理将是一件非常麻烦的事。

我认为一个好的做法是,在与当前相同的设置中,有 51 个数据库模式,其中 1 个包含所有共享的公共信息,其他的则每个组织一个。

这样,通过稍微调整一下权限,你就可以让组织 A 访问他的数据和公共数据,并开发自己的应用程序来按照自己的意愿访问它的数据,而不会干扰、查看或授予组织 B 查看权限。

答案2

他们是否建议 50 个数据库在结构上是相同的,但是每个数据库都有自己的数据文件,因此我将拥有 50 个数据库。假设我将它们全部放在一台机器上,那么我需要在那台机器上创建 50 个数据库。我认为这种解决方案不切实际而且成本很高。特别是所有这 50 个数据库都具有相同的功能,但是面向不同的客户或组织。我甚至想知道是否有任何组织已经实施了这个概念,以及他们的数据库的大小是多少,所以他们以这种方式划分他们的系统。

相关内容