在 oracle 中,数据库和表空间有什么区别?
3 回答
一个小术语:
Oracle 将数据库定义为您在 Oracle 系统上找到的一组文件。这意味着您的 Oracle 系统中的所有数据都在这些数据库文件中,通常称为“数据文件”。数据库中还有其他文件,例如参数文件和重做日志。
另一方面,实例由 Oracle 数据库使用的进程和内存区域组成。一个数据库和一个实例共同构成了一个数据库系统。(有关详细信息,请参阅 Oracle 概念指南)
从逻辑上讲,您将希望在该数据库中定义不同的空间。这是通过表空间完成的(请参阅Oracle 概念指南)。一个表空间通常由一个或多个数据文件组成。当您使用 CREATE TABLE 定义表时,您可以指定应在哪个表空间中创建该表。例如,这允许您在同一数据库系统上分离不同的应用程序。
Oracle 概念指南是此类问题的绝佳信息来源。请参阅这张图片,了解数据文件和表空间是如何组成的。
让我们考虑一个由大量水组成的海洋的例子。现在你想要那个水。为此,您所做的就是在桶中收集水,以便更好地使用和储存。同样,这里Ocean 是具有大量数据文件的数据库,这里数据文件意味着水,为了更好地使用和处理,您可以将其放入桶中,您可以将桶关联为表空间
Oracle 数据库由一个或多个称为表空间的逻辑存储单元组成,它们共同存储数据库的所有数据。
数据库、表空间和数据文件密切相关,但它们有重要的区别:
Oracle 数据库中的每个表空间都由一个或多个称为数据文件的文件组成,这些文件是符合运行 Oracle 的操作系统的物理结构。
数据库的数据集中存储在构成数据库每个表空间的数据文件中。例如,最简单的 Oracle 数据库将有一个表空间和一个数据文件。另一个数据库可以有三个表空间,每个表空间由两个数据文件组成(总共六个数据文件)。
DATABASES 的数据存储在称为 TABLESPACES 的逻辑存储单元中。一个数据库可能包含“一个或多个”表空间。一个表空间可能包含一个或多个数据文件。
数据库的数据集中存储在构成数据库每个表空间的数据文件中。
示例:最简单的数据库可能有一个表空间和一个数据文件。另一方面,另一个数据库可以有 5 个表空间,每个表空间可能包含两个数据文件(总共 10 个文件)