Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle,用户作为实例_Oracle_Database Design_Database Connection_Database Schema - Fatal编程技术网

Oracle,用户作为实例

Oracle,用户作为实例,oracle,database-design,database-connection,database-schema,Oracle,Database Design,Database Connection,Database Schema,一位客户向我介绍了他们不同的Oracle“数据库”。 在数据迁移混乱之后,我突然想到,这些不同的数据库都是同一个数据库。他们刚刚用多个用户和严格的权限拆分了同一个实例 因此,user1有一个CUSTOMER表,user1.CUSTOMER和user2有一个CUSTOMER表user2.CUSTOMER。 这些表中的数据是完全独立的,由应用程序的不同实例管理 我以前从未见过这样做;这是一种标准的、可接受的做法吗 这种类型的设置是否有特定的性能和维护方案? 或者,这是狂野的西部 谢谢这是Oracle

一位客户向我介绍了他们不同的Oracle“数据库”。 在数据迁移混乱之后,我突然想到,这些不同的数据库都是同一个数据库。他们刚刚用多个用户和严格的权限拆分了同一个实例

因此,user1有一个CUSTOMER表,user1.CUSTOMER和user2有一个CUSTOMER表user2.CUSTOMER。
这些表中的数据是完全独立的,由应用程序的不同实例管理

我以前从未见过这样做;这是一种标准的、可接受的做法吗

这种类型的设置是否有特定的性能和维护方案? 或者,这是狂野的西部


谢谢

这是Oracle环境中的正常标准做法。Oracle环境是一个具有一个或几个模式的大型应用程序,或者是随着时间的推移而增长的大量小型应用程序

当然,要做出许多建筑设计决策。例如,在一个数据库中放置多个应用程序时,这些应用程序可能会相互影响。随着时间的推移,Oracle一直在增强技术堆栈,以限制应用程序之间的相互影响。例如,您现在可以按每个用户不同地分配资源。但是,例如,一个运行wild的应用程序可能会刷新整个缓存,从而影响其他应用程序。从Oracle 12c开始,Oracle Corp.甚至通过创建一种更类似于Microsoft SQL Server方法的结构(使用单独的“数据库”)进一步改进了隔离,但12c甚至进一步扩展了这一功能。例如,因为Oracle容器数据库仍然可以包含多个数据库及其自己的数据字典(enterprise edition仅允许多个容器数据库)


一般来说,我不建议将许多严肃/大型应用程序放在一个Oracle数据库中。例如,当您升级其中一个应用程序时,您需要确保所有其他应用程序都与可能需要的Oracle新的次要版本兼容。因此,当您将多个应用程序合并到一个数据库中时,请确保您可以控制这些应用程序是否同时经过相同Oracle版本的认证。例如,因为它是内部软件包。

除非您有(并且需要)多台主机,否则这是正常的,反正是在同一个盒子上。您正在充分利用可用的资源。只要应用程序不混乱,并且您总体上有足够的容量,它就应该很好,并且更易于管理、监视和维护。@catBus我很高兴听到我已经很好地帮助了您。祝环境好运!