数据库空间是一种可包含 1 到 32766 个块的逻辑单元。放置数据库、表、逻辑日志文件
以及数据库空间中的物理日志。
控制简单大对象数据的存储位置
数据库服务器管理员的关键职责是控制数据库服务器存储数据的位置。通过在最快的磁盘
驱动器上存储访问频率很高的表或关键数据库空间(根数据库空间、物理日志和逻辑日
志),可以提高性能。通过将关键数据存储在单独的物理设备上,您可以确保当包含非关
键数据的磁盘中有一个发生故障时,该故障只会影响该磁盘上的数据可用性。
如下图所示,要控制数据库或表的放置,可使用 CREAT DATABASE 或 CREAT TABLE
语句的 IN dbspace 选项。
图: 使用 CREATE TABLE... IN 语句控制表的放置
GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 155 -
在数据库空间中创建数据库或表之前,您必须先创建数据库空间。
数据库空间可以包含一个或多个块,如下图所示。您可以在任何时候添加更多的块。监视
数据库空间块的填充度以及预期是否有必要向数据库空间分配更多的块,是高优先级的数
据库服务器管理员任务。当数据库空间包含多个块时,不能指定数据所在的块。
图: 链接逻辑和物理存储单元的数据库空间
数据库服务器使用数据库空间来存储数据库和表。
创建标准或临时数据库空间时,可指定该数据库空间的页大小。您不能指定BLOB 空间、
智能大对象空间或外部空间的页大小。如果不指定页大小,那么根数据库空间的大小将为
缺省页大小。有关更多信息,请参阅创建具有非缺省页大小的数据库空间。
创建标准数据库空间时,可在数据库空间中指定表空间 tblspace 的第一个和下一个扩展
数据块大小。如果要在必须将表空间 tblspace 扩展数据块放入非主块中时减少表空间
tblspace 扩展数据块的数量并减少这些情况发生的频率,请执行此操作。 有关更多信
息,请参阅为表空间 tblspace 指定第一个和下一个扩展数据块大小。
您可以为镜像数据库空间中的每个块建立镜像。一旦数据库服务器分配了镜像块,它会立
刻将该镜像块中的所有空间都标记为已满。请参阅监视磁盘使用量。
有关使用 Server Administrator 或 onspaces 执行以下任务的信息,请参阅管理磁盘空间。
•
创建数据库空间
•
向数据库空间添加块
•
重命名数据库空间
•
删除块
•
删除数据库空间、BLOB 空间或智能大对象空间
根数据库空间
GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 156 -
根数据库空间是数据库服务器创建的初始数据库空间。根数据库空间是特殊的,因为它包
含了保留页和内部表,它们将描述和跟踪所有物理和逻辑存储单元。(有关这些主题的更
多信息,请参阅表以及《GBase 8s 管理员参考》中有关磁盘结构和存储的章节。)根数
据库空间的初始块及其镜像是唯一在磁盘空间初始化期间创建的块。可在磁盘空间设置后
将其他块添加到根数据库空间。
onconfig 配置文件中的以下磁盘配置参数引用根数据库空间的第一个(初始)块:
•
ROOTPATH
•
ROOTOFFSET
•
ROOTNAME
•
MIRRORPATH
•
MIRROROFFSET
•
TBLTBLFIRST
•
TBLTBLNEXT
根数据库空间也是由 CREAT DATABASE 语句创建的任何数据库的缺省数据库空间位
置。
根数据库空间是由数据库服务器为执行所请求的数据管理而创建的所有临时表的缺省位
置。
请参阅根数据库空间的大小以获取有关应为根数据库空间分配多少空间的信息。还可以在
设置数据库服务器磁盘空间后将额外的块添加到根数据库空间。
临时数据库空间
临时数据库空间是专门为临时表的存储而保留的数据库空间。您不能为临时数据库空间建
立镜像。
数据库服务器不会删除临时数据库空间,除非明确指示应这么做。临时数据库空间是临时
的指的只是数据库服务器在其不正常关闭时不保留任何数据库空间内容。
无论何时设置数据库服务器,所有临时数据库空间都将设置。数据库服务器会清除可能从
数据库服务器上次关闭后留下的任何表。
数据库服务器不会为临时数据库空间执行逻辑或物理日志记录。由于没有用物理方式记录
临时数据库空间,因此只有较少的检查点和 I/O 操作出现,以此提高了性能。
对于标准数据库空间中的临时表,数据库服务器会记录表的创建、扩展数据块的分配以及
表的删除。相反,数据库服务器不会记录存储在临时数据库空间中的表。临时数据库空间
中禁止使用逻辑日志可减少在逻辑恢复期间要前滚的日志记录数,从而提高关键停机时间
内的性能。
使用临时数据库空间存储临时表还会减少存储空间备份的大小,因为数据库服务器不会备
份临时数据库空间。
数据库服务器使用临时磁盘空间来存储备份期间被覆盖以及内存中发生查询处理而溢出的
之前数据映像。请确保正确设置 DBSPACETEMP 环境变量或参数,以便指定的数据库空
GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 157 -
间具有足够空间,能满足您的需求。如果指定的数据库空间中空间不足,备份将失败,并
且将使用根数据库空间,或者在填满根数据库空间之后,备份将失败。
如果您有多个临时数据库并且在临时表中执行了 SELECT 语句,那么查询结果将以循环
顺序插入。
有关如何创建临时数据库空间的详细指示信息,请参阅创建临时数据库空间。
重要: 当数据库服务器作为辅助数据库服务器运行时,它需要临时数据库空间存储由只
读查询生成的任何内部临时表。