1 简介
在创建DM数据库时,系统会自动创建5个表空间:SYSTEM 表空间、ROLL 表空间、MAIN 表空间、TEMP 表空间和 HMAIN 表空间。
DM自动为这几个自动创建的表空间分别生成默认的数据文件:SYSTEM.DBF、ROLL.DBF、MAIN.DBF 和 TEMP.DBF。
HMAIN表空间没有默认的数据文件,但会生成一个HMAIN的目录。
2 自带表空间介绍
2.1 SYSTEM表空间
存放了DM数据库全局字典信息和全局系统数据,是DM数据库能够正常运行的必要前提,默认对应数据文件SYSTEM.DBF。
CREATE TABLE等DDL操作会修改SYSTEM表空间数据。记录了整个数据库所有对象的元数据。
2.2 ROLL表空间
存放 DM 数据库运行过程中产生的所有回滚记录。DM 中几乎所有的数据库修改操作都会生成回滚记录,并保存在 ROLL 表空间的数据文件中。
ROLL 表空间是数据库全局对象,不论修改哪一个表空间,生成的回滚记录都是写入 ROLL 表空间,该表空间由系统自动维护,
默认数据文件为 ROLL.DBF。
2.3 TEMP表空间
存放临时表数据以及数据库运行过程中产生的临时数据。在数据库运行过程中,SORT、HASH JOIN 等操作都可能会生成临时结果集,它们作为临时数据存放在TEMP表空间中。
TEMP 表空间是数据库全局对象,由系统自动维护。若数据库重启,保存在TEMP表空间中的所有数据都会丢失。TEMP 表空间的默认数据文件为 TEMP.DBF。
当数据库进行SORT、HASH JOIN等操作时,会先寻求内存空间,如果设定的内存空间不够的话,会使用TEMP表空间的数据文件进行临时存储。
2.4 MAIN表空间
在创建用户时,如果没有指定默认表空间,系统自动指定MAIN表空间为用户默认的表空间。
2.5 HMAIN表空间
DM的HUGE表空间,用来存放HUGE表数据文件。
3 与ORACLE对比
DM8数据库与ORACLE 11g数据库的自带表空间的用途基本一致,只不过在内部实现方式、管理方式方面会有一些不同。无法说谁好谁坏,只能在客户的实际应用中去感受。
表空间 | DM8 | ORACLE11g | 备注 |
系统表空间 | SYSTEM | SYSTEM、SYSAUX | SYSAUX作为SYSTEM的辅助表空间,减少SYSTEM的负荷。 |
回滚表空间 | ROLL | UNDOTBS1 | 名不同,用途一致 |
临时表空间 | TEMP | TEMP | 用途一致 |
用户表空间 | MAIN | USERS | 名不同,用途一致 |
大表表空间 | HMAIN | N/A | ORACLE没有默认的大表表空间,有一个BIGFILE表空间概念,也是用于存大表的,简化了数据库管理。 |
注:如果创建数据库时选择了样例库,DM8会生成BOOKSHOP、DMHR表空间。ORACLE会生成EXAMPLE表空间。
DM技术学习网站:https://eco.dameng.com




