表空间是一种存储结构,它包含表、索引、大对象和长型数据。它们用来将数据库中的数据组织成与数据在系统上的存储位置相关的逻辑存储器分组。表空间存储在数据库分区组中。
表空间可以由一个或多个容器组成。容器可以是目录名、设备名或文件名。单个表空间可以有多个容器。可以在同一个物理存储设备上创建多个容器(来自一个或多个表空间),尽管您创建的各个容器使用不同存储设备时的性能最佳。如果您使用自动存储器表空间,那么容器的创建和管理工作由数据库管理器自动处理。如果未使用自动存储器表空间,那么必须自己定义和管理容器。
图 1 举例说明了一个数据库内的表和表空间与该数据库相关的容器之间的关系。

EMPLOYEE 和 DEPARTMENT 表在 HUMANRES 表空间中,该表空间横跨容器 0、1、2 和 3。PROJECT 表位于容器 4 中的 SCHED 表空间内。此示例显示每个容器存在于单独的磁盘中。
数据库管理器会尝试平衡分布在所有容器中的数据负荷。因此,所有容器都将用于 存储数据。数据库管理器在使用另一个容器之前 写入一个容器的页数称为扩展数据块大小。数据库管理器并非始终从第一个容器开始存储表数据。
图 2 显示具有两个 4KB 页扩展数据块大小的 HUMANRES 表空间,它有四个容器,每个容器有少量已分配的扩展数据块。DEPARTMENT 和 EMPLOYEE 表都有 7 页,且跨所有四个容器。
