表空间是 DM 数据库的最大逻辑存储单元,表中的数据在逻辑上都是存放在表空间中,在物理上存放在表空间对应的物理数据文件。表空间由数据文件组成,表空间采用段、簇、页的方式进行管理。
DM默认预定义 SYSTEM、ROLL、TEMP、MAIN四个表空间。
SYSTEM:系统表空间。
ROLL:回滚表空间。
TEMP:临时表空间。
MAIN:用户默认表空间。当创建用户时,如果没有指定用户的默认表空间,则MAIN为用户的默认表空间。
在实际使用中,建议用户自行创建表空间来使用。
1,创建表空间
create tablespace "TBSTEST" datafile 'TBSTEST01.DBF' size 128;
注:上面新建了一个表空间TBSTEST,该表空间的数据文件存放在默认路径下,文件名为TBSTEST01.DBF,初始大小为128M。
创建用户时,指定表空间
create user "TEST" IDENTIFIED BY "dmtest123456" default tablespace "TBSTEST";
注:上面新建了一个用户TEST,该用户的表空间设置为TBSTEST。
2,修改表空间
表空间重命名
alter tablespace "TBSTEST" RENAME TO "DMTBSTEST";
添加数据文件
alter TABLESPACE "DMTBSTEST" add DATAFILE 'TBSTEST02.DBF' size 128;
修改表空间数据文件的扩展属性
--打开扩展属性
alter tablespace "DMTBSTEST" DATAFILE 'TBSTEST02.DBF' AUTOEXTEND on NEXT 2 MAXSIZE
20480;
--关闭扩展属性
alter tablespace "DMTBSTEST" DATAFILE 'TBSTEST02.DBF' AUTOEXTEND off;
修改表空间数据文件的大小:
alter tablespace "DMTBSTEST" RESIZE DATAFILE 'TBSTEST02.DBF' TO 256;
3,迁移自定义表空间数据文件
自定义的表空间,可以在脱机后迁移数据文件。
--将表空间设置为脱机状态
alter tablespace "DMTBSTEST" offline;
--迁移表空间数据文件
alter TABLESPACE "DMTBSTEST" RENAME DATAFILE 'TBSTEST02.DBF' TO
'/dm8/data/DM/TBSTEST02.DBF';
--将表空间设置为联机状态
alter tablespace "DMTBSTEST" online;
4,查询表空间与数据文件对应关系
SELECT ts.NAME, df.PATH
FROM V$TABLESPACE AS ts, V$DATAFILE AS df
WHERE ts.ID = df.GROUP_ID;
5,删除表空间
drop tablespace "TBSTEST";
达梦社区:https://eco.dameng.com