表空间要求:
达梦数据要求数据文件的大小要大于页大小的 4096 倍,小于页大小的 2(31 次方)-1 倍
1、创建表空间
默认缓冲区类型为 NORMAL。也可以指定缓冲区为KEEP
create tablespace tbs DATAFILE ‘/data/dm/DAMENG/TBS01.dbf’ SIZE 32 CACHE=normal;
查看表空间信息:select * from DBA_TABLESPACES;
查看数据文件信息:select * from DBA_DATA_FILES;
注:达梦表空间的数据文件只能增加、增大、不能减少,也不能单独删除某个数据文件、只能删除整个表空间。表空间有数据时不能直接删除。
create tablespace tbs datafile ‘/data/dm/DAMENG/tbs01.dbf’ size 128 autoextend on next 1 maxsize 20480; -----设置自动扩展1M,最大限制20G;
2、表空间扩容
扩容有两种方式,resize现有datdfile,或增加数据文件
alter tablespace “tbs” resize datafile ‘/data/dm/DAMENG/TBS01.dbf’ to 400;
alter tablespace “tbs” add datafile ‘/data/dm/DAMENG/TBS02.dbf’ size 200;
注:达梦数据库无法通过resize或者drop datafile来缩小表空间,只能通过迁移,导入导出来实现。
3、临时表空间创建
临时表空间不能单独创建,而是通过dm.ini参数文件修改,并且临时表空间只能有一个TEMP_PATH = /data/dm/DAMENG
TEMP_SIZE = 10
TEMP_SPACE_LIMIT = 0
重启数据库生效
4、表空间迁移
select tablespace_name,file_name,bytes/1024/1024 from dba_data_files;
表空间脱机:alter tablespace tbs offline;
修改表空间位置:alter tablespace tbs RENAME DATAFILE ‘/data/dm/TBS01.DBF’ to ‘/data/dm/DAMENG/TBS01.DBF’;
表空间联机:alter tablespace tbs online;
4、表空间删除
drop tablespace TBS;
5、查看表空间使用率
SELECT
a.tablespace_name “表空间名称”,
total / (1024 * 1024) “表空间大小(M)” ,
free / (1024 * 1024) “表空间剩余大小(M)” ,
(total - free) / (1024 * 1024 ) “表空间使用大小(M)” ,
round((total - free) / total, 4) * 100 “使用率 %”
FROM (
SELECT
tablespace_name,
SUM(bytes) free
FROM
dba_free_space
GROUP BY
tablespace_name
) a,
(
SELECT
tablespace_name,
SUM(bytes) total
FROM
dba_data_files
GROUP BY
tablespace_name
) b
WHERE
a.tablespace_name = b.tablespace_name;