1

我使用 MS SQL 服务器,它在数据库组织级别定义了以下概念:

  • 实例:-独立安装sql server
  • 数据库:位于实例上
  • schema:数据库的逻辑分区

我必须使我的应用程序适应 Oracle 数据库实例,并且我意识到这些概念并不相同。任何人都可以解释/推荐一篇关于 Oracle 中数据库组织的文章吗?

4

2 回答 2

3

首先,这里是 Oracle 定义:

  • 主页:Oracle RDBMS 的安装
  • 实例:Oracle 内存结构(进程 - 认为操作系统进程)
  • 数据库:Oracle 逻辑/物理存储(通常是 OS 文件)
  • 用户(架构):所有数据库对象(例如表)的逻辑容器
  • 表空间:存储的逻辑容器(大多数数据库对象映射到表空间而不是直接映射到文件)
  • 文件:用于存储的物理容器

您可以在单个操作系统实例上安装多个 Oracle 主目录(例如不同版本的 Oracle)。每个家庭可以有多个数据库。通常 1 个实例 = 1 个数据库,但在 Oracle 12c 中,您可以拥有 1 个实例 = 许多数据库,而使用 Oracle RAC,它是多个实例(来自不同节点)指向同一个数据库(位于 SAN 上)。您可以根据需要在每个数据库中拥有任意数量的用户模式...

所以粗略的翻译从 SQL Server 讲:

  • SQL Server 实例 = Oracle 数据库和实例的合并。SQL Server 没有 RAC 或多租户概念
  • SQL Server 数据库 = 有点像 Oracle 表空间/文件(在 Oracle 中,您有映射到文件而不是表空间的重做日志和映射到表空间的撤消日志)
  • SQL Server Schema = 与 Oracle 用户几乎相同
于 2013-08-05T09:34:58.457 回答
0

一个实例是否有可能拥有多个数据库?” - 是的,由于多租户架构,在新的 Oracle 数据库 12.1 中成为可能。首先,您必须在此链接上阅读 Oracle 数据库概念 12c 第 1 版 (12.1):http: //docs.oracle.com/cd/E16655_01/server。 121/e17633/toc.htm

于 2013-08-05T08:18:25.153 回答