数据库与表空间有什么区别?

001*_*001 22 oracle oracle11g

在oracle中,数据库和表空间之间的区别是什么?

Sim*_* K. 33

一个小术语:

Oracle将数据库定义为您在Oracle系统上找到的文件集.这意味着Oracle系统中的所有数据都在这些数据库文件中,通常称为"数据文件".数据库中还有其他文件,例如参数文件和重做日志.

另一方面,实例由Oracle数据库使用的进程和内存区域组成.数据库实例一起构成数据库系统.(有关更多信息,请参阅Oracle概念指南)

从逻辑上讲,您需要在该数据库中定义不同的空间.这是通过表空间完成的(请参阅Oracle概念指南).表空间通常由一个或多个数据文件组成.使用CREATE TABLE定义表时,可以指定应在哪个表空间中创建表.例如,这允许您在同一数据库系统上分离不同的应用程序.

对于像这样的问题,Oracle Concepts指南是一个很好的信息来源.请参阅此图片,了解如何组成数据文件和表空间.

  • 哦,SQL Server术语与Oracles术语不同.在Oracle中,您有一个或多个**实例**访问一个**数据库**,具有多个**模式**.数据库可以有多个**表空间**,其中模式可以保存数据.请注意,通常,"schemas"和"users"在Oracle中用作同义词.在SQL Server中,通常在单个数据库服务器中有多个具有多个模式的数据库. (5认同)
  • 请注意,上述Oracle概念指南的链接已断开.也许这是正确的链接?https://docs.oracle.com/cd/E11882_01/server.112/e40540/toc.htm (3认同)
  • 在sql server中创建数据库,在oracle中创建表空间?那是什么计划?它与sql server schema相同? (2认同)
  • 我有点困惑,所以如果我必须有两个不同的应用程序,我会为每个应用程序创建一个新实例,或者为每个应用程序创建一个新表空间,或者每个应用程序创建一个新数据库?(在 SQL Server 中,您可以只创建一个新数据库) (2认同)

sus*_*vi 6

让我们考虑一个由大量水组成的海洋的例子。现在你想要那水。为此,您要做的就是将水收集在桶中,以便更好地使用和存储。同样,这里的海洋是具有大量数据文件的数据库,这里的数据文件意味着水,为了更好地使用和处理,您将其放入桶中,您可以将桶关联为表空间

Oracle 数据库由一个或多个称为表空间的逻辑存储单元组成,它们共同存储数据库的所有数据。

数据库、表空间和数据文件密切相关,但它们也有重要的区别:

Oracle 数据库中的每个表空间都由一个或多个称为数据文件的文件组成,这些文件是符合运行 Oracle 的操作系统的物理结构。

数据库的数据集中存储在构成数据库的每个表空间的数据文件中。例如,最简单的 Oracle 数据库将具有一个表空间和一个数据文件。另一个数据库可以具有三个表空间,每个表空间包含两个数据文件(总共六个数据文件)。

在此输入图像描述

参考链接