如果要创建多个数据库,将单个实例与多个实例进行比较有什么优缺点?
答案 0 :(得分:7)
您可能想浏览Oracle concept guide,特别是如果您更熟悉其他DBMS。
- 数据库是位于磁盘上的一组文件,用于存储数据。 这些文件可以独立存在 数据库实例。
- 实例是一组管理数据库文件的内存结构。 该实例由共享实例组成 内存区域,称为系统全局 区域(SGA)和一组背景 流程。一个实例可以存在 独立于数据库文件。
单个实例(一组进程)最多可以挂载 一个数据库(文件集)。如果需要访问多个数据库,则需要多个实例。更多关于the difference between instances and databases on askTom。
理想情况下,每个服务器只需要一个实例(服务器可能是逻辑服务器 - 即虚拟服务器)。这将使Oracle能够确切地知道发生了什么。这意味着每个服务器有一个数据库。
如果您的数据库真的是独立的,那么使用多个实例/数据库是有意义的,因为您可以更好地控制数据库版本,管理等。
但是,如果您的数据库不是真正独立的(您经常在它们之间共享数据,您需要一些可供所有数据访问的公共数据),那么使用单个统一数据库可能更有效(也更简单)。每个原始数据库都有自己的一组模式。在这种情况下,跨模式引用完整性很容易,您不需要复制需要共享的数据。