达梦数据库表空间管理中几乎可以说与oracle基本一致,最近梳理了常见的表空间管理的SQL命令,当然在oracle中执行也是可以的,主要是因为DM 还兼容 Oracle 11g 的部分语言特性。
表空间信息查看
select * from v$tablespace;
select * from v$huge_tablespace;
select * from dba_data_files;
select * from dba_tablespaces;
表空间创建
在达梦数据库中,创建表空间,要求初始文件大小是页的4096倍,也就是4096*8k=32M,也就是说创建表空间的起始值要≥32M,默认单位M。
1、创建表空间指定初始大小、自增长和最大表空间。
create tablespace TEST datafile 'D:\dmdbms\data\DAMENG\TEST.DBF' size 32 autoextend on next 2 maxsize 50;
2、创建多个数据文件的表空间
create tablespace TEST datafile 'D:\dmdbms\data\DAMENG\TEST.DBF' size 32 autoextend on next 2 maxsize 50,'D:\dmdbms\data\DAMENG\TEST1.DBF' size 32 autoextend on next 2 maxsize 50;
表空间维护管理
1、追加表空间
ALTER tablespace TEST ADD DATAFILE '/bigdata/DAMENG/TEST1.DBF' SIZE 32 autoextend on next 2 maxsize 50;
2、调整表空间
#调整自增长量
ALTER tablespace TEST datafile '/bigdata/DAMENG/TEST1.DBF' autoextend on next 4
#调整表空间最大限制
ALTER tablespace TEST datafile '/bigdata/DAMENG/TEST1.DBF' autoextend on maxsize 60
#调整表空间初始大小
ALTER tablespace TEST resize datafile '/bigdata/DAMENG/TEST1.DBF' to 34
3、表空间位置调整/重命名
#设置表空间脱机
alter tablespace TEST offline;
#调整表空间数据文件位置、名称(两者可组合)
alter tablespace TEST rename datafile '/bigdata/DAMENG/TEST.DBF' to '/bigdata/DAMENG/TEST01.DBF';
#设置表空间联机
alter tablespace TEST online;
表空间删除命令
drop tablespace TEST;
需要重点说明一点,在DM数据库中,表空间的管理默认的单位都是MB,区别于Oracle可以指定G/M/K的指定单位。
更多资讯请上达梦技术社区了解:https://eco.dameng.com