创建表空间

语法格式:

CREATE TABLESPACE <表空间名> <数据文件子句>[<数据页缓冲池子句>][<存储加密子句>][<指定 DFS 副本子句>]

示例:

create tablespace dtstest02 datafile '/dm/dmdata/dmeigdb/dtstest0201.dbf' size 80 autoextend off;

达梦的表空间 相当于 mysql 达梦创建表空间_表空间

修改表空间

语法格式:

ALTER TABLESPACE <表空间名> [ONLINE| OFFLINE| CORRUPT|<表空间重命名子句>| <数据

文件重命名子句>|<增加数据文件子句>|<修改文件大小子句>|<修改文件自动扩展子句>|<数据页池子句>]

使用说明

1. 不论 dm.ini 的 DDL_AUTO_COMMIT 设置为自动提交还是非自动提交,TABLESPACE 操作都会被自动提交;

2. 修改表空间数据文件大小时,其大小必须大于自身大小;

3. SYSTEM 表空间不允许关闭自动扩展,且不允许限制空间大小;

4. 如果表空间有未提交事务时,表空间不能修改为 OFFLINE 状态;

5. 重命名表空间数据文件时,表空间必须处于 OFFLINE 状态,修改成功后再将表空间修改为 ONLINE 状态;

6. 表空间如果发生损坏(表空间还原失败,或者数据文件丢失或损坏)的情况下,允许将表空间切换为 CORRUPT 状态,并删除损坏的表空间,如果表空间上定义有对象,需要先将所有对象删除,再删除表空间。

举例说明

例1 将表空间 TS1 名字修改为 TS2。
ALTER TABLESPACE TS1 RENAME TO TS2;
例 2 增加一个路径为 /dm/dmdata/dmeigdb/TS1_1.dbf,大小为 128M 的数据文件到表空间 TS1。
ALTER TABLESPACE TS1 ADD DATAFILE '/dm/dmdata/dmeigdb/TS1_1.dbf' SIZE 128;
例 3 修改表空间 TS1 中数据文件 /dm/dmdata/dmeigdb/TS1.dbf 的大小为 200M。
ALTER TABLESPACE TS1 RESIZE DATAFILE '/dm/dmdata/dmeigdb/TS1.dbf' TO 200;
例 4 重命名表空间 TS1 的数据文件 /dm/dmdata/dmeigdb/TS1.dbf 为 /dm/dmdata/dmeigdb/TS1_0.dbf。
ALTER TABLESPACE TS1 OFFLINE;
ALTER TABLESPACE TS1 RENAME DATAFILE '/dm/dmdata/dmeigdb/TS1.dbf' TO '/dm/dmdata/dmeigdb/TS1_0.dbf';
ALTER TABLESPACE TS1 ONLINE;
例 5 修改表空间 TS1 的数据文件 /dm/dmdata/dmeigdb/TS1.dbf 自动扩展属性为每次扩展 10M,最大文件大小为 1G。
ALTER TABLESPACE TS1 DATAFILE '/dm/dmdata/dmeigdb/TS1.dbf' AUTOEXTEND ON NEXT 10 MAXSIZE 1000;
例 6 修改表空间 TS1 缓冲池名字为 KEEP。
ALTER TABLESPACE TS1 CACHE="KEEP";
例 7 修改表空间为 CORRUPT 状态,注意只有在表空间处于 OFFLINE 状态或表空间损坏的情况下才允许使用。
ALTER TABLESPACE TS1 CORRUPT;

删除表空间

语法格式:
DROP TABLESPACE <表空间名>

 

达梦的表空间 相当于 mysql 达梦创建表空间_数据文件_02

示例:

以 SYSDBA 身份登录数据库后,删除表空间 TS1。
SQL>DROP TABLESPACE TS1;

---------------------------------------------------------------------------------------------------------------------------------------