为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:linux
【CPU】:
【问题描述】*:为什么达梦数据表都删除了,表空间还有200多个G
做个试验,先用下面这个SQL查一下各个表空间所用数据文件的大小及剩余大小
SELECT S.NAME TABLESPACE_NAME
,F.PATH FILE_NAME
,ROUND((F.TOTAL_SIZE * F.PAGE_SIZE) / 1024.0 / 1024.0,2) AS TOTAL_MBS
,ROUND((F.FREE_SIZE * F.PAGE_SIZE) / 1024.0 / 1024.0,2) AS FREE_MBS
FROM SYS.V$DATAFILE F
,SYS.V$TABLESPACE S
WHERE F.GROUP_ID = S.ID
然后再用下面这个DDL来修改数据文件的大小
ALTER TABLESPACE 表空间名 RESIZE DATAFILE '数据文件名' TO 目标文件大小(以MB字节位单位的);
具体操作可以参考《DM8 系统管理员手册》中“14.2.4 缩减数据文件的大小”章节所介绍的内容
dm之前的版本不支持表空间的收缩,后面的新版本支持的。原来的版本虽然不收缩,但是数据库内部删除数据后的那部分空间是会重复利用的。