注册
DM9表空间数据文件自动扩展与resize回缩研究测试 #达梦数据库 #达梦同行者征文
专栏/技术分享/ 文章详情 /

DM9表空间数据文件自动扩展与resize回缩研究测试 #达梦数据库 #达梦同行者征文

羽书飞影 2026/08/25 180 2 0
摘要

一、测试概述

1.1 表空间概述

达梦创建表空间时需要指定表空间名和其拥有的数据文件列表。理论上最多允许有 65535个表空间,但用户允许创建的表空间ID 取值范围为 0~32767,超过 32767 的只允许系统使用,ID 由系统自动分配,ID 不能重复使用,即使删 除掉已有表空间,也无法重复使用已用 ID 号,也就是说只要创建 32768 次表空间后,用户将无法再创建表空间。

1.2 表空间相关视图

VDATAFILE、VTABLESPACE、VEXTENTS 通过查询动态视图 VTABLESPACE 得到系统中除 RLOG 表空间外其他所有表空间 的信息,通过查询动态视图 V$DATAFILE 得到系统中所有数据文件的信息。将两个动态视图 以表空间 ID 为连接条件,通过以下查询可以得到表空间上对应的数据文件。

SELECT ts.NAME, df.PATH FROM V$TABLESPACE AS ts, V$DATAFILE AS df WHERE ts.ID = df.GROUP_ID;

二、数据文件的回缩属性

1、概述

可以缩减用户表空间中已存在的数据文件的大小。比如将 bookshop 表空间中数据文件book.dbf 大小缩减至32M。

2、测试准备

代码如下:

##查看表空间大小
select 
	   A.tablespace_name,
	   a.INCREMENT_BY,
       A.bytes / 1024 TOTAL_KB,
       B.bytes / 1024 FREE_KB,
       (A.bytes - b.bytes)/1024 USE_KB
  from DBA_DATA_FILES A,
       DBA_FREE_SPACE B
   where  a.tablespace_name = b.tablespace_name;
##测试表空间增长
create table A(id int,name varchar(100));
DECLARE 
 a number:=0;
 begin 
 for i in 1..1500000 loop
 insert into a (id,name) values(i,'sa');
end loop;
commit;
end;
##业务用户测试
create tablespace TEST datafile 'TEST' size 128 autoextend on CACHE = NORMAL;
create user TEST identified by "1Qaz[][]!"
default tablespace "TEST";
grant "PUBLIC","SOI","DBA" to TEST;

本次测试基于DM9.1.0.26版本-表空间缩容

–MAIN表空间缩容

1、初始化完MAIN表空间大小为128MB

image.png

2、创建10张表插入数据,表空间扩容至4608MB

image.png
image.png

3、删除7张表后,MAIN表空间使用大小为1414MB,总占用大小为4608MB。进行MAIN表空间缩容操作,MAIN.DBF文件大小缩容至4544MB。

image.png
image.png
image.png

–业务表空间缩容

–创建表空间TEST和表A,TEST表空间初始大小为128MB
image.png
image.png
image.png
–进行数据插入,插入完成后TEST表空间扩容至2.4G
image.png
image.png
–删除3张数据表,释放TEST表空间
image.png
image.png
–进行缩容操作
缩容至1920MB成功
image.png
image.png
缩容至1856MB及以下均失败
image.png
image.png
image.png
image.png
–ROLL表空间缩容
目前大小为4352MB
image.png
image.png
–缩容为初始大小128MB
image.png
image.png
–SYSTEM表空间缩容
目前大小为256MB
image.png
-删除占用系统表数据字段信息以后,SYSTEM表空间空闲率并未提升
image.png
执行缩容操作,缩容至初始大小192MB,缩容失败,重新再建表扩容SYSTEM,SYSTEM表空间查询结果错误
image.png
–TEMP表空间缩容
image.png
删除临时表并进行缩容
image.png
image.png
image.png

三、测试结论

DM9.1.0.26版本各表空间缩容情况如下
image.png

#达梦数据库 #达梦同行者征文

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服