默认表空间
创建新数据库时,数据库管理器会为数据库创建一些默认表空间。这些表空间用作用户和临时数据的存储。每个数据库必须至少包含三个表空间,如下所示:
- 目录表空间
- 用户表空间
- 临时表空间
Catalog tablespace:它包含数据库的系统目录表。它被命名为 SYSCATSPACE,并且不能被删除。
User tablespace:这个表空间包含用户定义的表。在数据库中,我们有一个默认的用户表空间,命名为 USERSPACE1。如果在创建表时没有为表指定用户定义的表空间,那么数据库管理器会为您选择默认用户表空间。
Temporary tablespace:临时表空间包含临时表数据。该表空间包含系统临时表空间或用户临时表空间。
系统临时表空间保存数据库管理器在执行排序或连接等操作时所需的临时数据。一个数据库必须至少有一个系统临时表空间,它被命名为 TEMPSPACE1。它是在创建数据库时创建的。用户临时表空间保存来自表的临时数据。它是使用 DECLARE GLOBAL TEMPORARY TABLE 或 CREATE GLOBAL TEMPORARY TABLE 语句创建的。默认情况下,在创建数据库时不会创建此临时表空间。
Tablespaces and storage management:
表空间可以以不同的方式设置,具体取决于您希望如何使用它们。您可以设置操作系统来管理表空间分配,可以让数据库管理器分配空间,或者您可以为数据选择自动分配表空间。
可以使用以下三种类型的托管空间:
System Managed Space (SMS):操作系统的文件系统管理器分配和管理存储表的空间。存储空间按需分配。该模型由表示数据库对象的文件组成。对于用户定义的表空间,此表空间类型在 10.1 版中已被弃用,并且对于目录表空间和临时表空间不被弃用。
Database Managed Space (DMS):数据库服务器控制存储空间。存储空间是根据您在创建 DMS 表空间时指定的容器定义在文件系统上预先分配的。对于用户定义的表空间,从版本 10.1 修订包 1 中不推荐使用它,但对于系统表空间和临时表空间不推荐使用它。
Automatic Storage Tablespace:可以自动管理数据库服务器。数据库服务器创建和扩展容器依赖于数据库上的数据。使用自动存储管理,不需要提供容器定义。数据库服务器负责创建和扩展容器以利用分配给数据库的存储空间。如果将存储空间添加到存储组,则当现有容器达到最大容量时,会自动创建新容器。如果您想立即使用新添加的存储,您可以重新平衡表空间。
Page, table and tablespace size:
临时 DMS 和自动存储表空间,您为数据库选择的页面大小决定了表空间大小的最大限制。对于表 SMS 和临时自动存储表空间,页大小限制了表本身的大小。页面大小可以是 4kb、8kb、16kb 或 32kb。
表空间类型 |
4K 页面大小限制 |
8K 页面大小限制 |
16K 页面大小限制 |
32K 页面大小限制 |
DMS,非临时自动存储表空间规则 |
64G |
128G |
256G |
512G |
DMS、临时DMS和非临时自动存储表空间大 |
1892G |
16384G |
32768G |
65536G |