注册
表空间数据文件自动拓展与添加数据文件后拓展测试
专栏/技术分享/ 文章详情 /

表空间数据文件自动拓展与添加数据文件后拓展测试

西索 2023/11/16 1314 0 0
摘要

背景:初始创建的表空间只有一个数据文件,使用中由于自动拓展,数据文件变的很大,已经到了几百G,新添加了多个数据文件,发现还是第一个文件拓展,其它几个使用率也没太大
本地测试看看
数据库版本:8.1.3.62
--创建表空间
create tablespace tbs_test DATAFILE 'test01.dbf' size 200 AUTOEXTEND on;
--创建表
create table t001 (c1 varchar,c2 varchar,c3 varchar,c4 varchar) tablespace tbs_test;
create table t002 (c1 varchar,c2 varchar,c3 varchar,c4 varchar) tablespace tbs_test;
create table t003 (c1 varchar,c2 varchar,c3 varchar,c4 varchar) tablespace tbs_test;
--插入数据,观察表空间拓展情况

BEGIN
for i in 1..1000000 LOOP
insert into t001 values(DBMS_RANDOM.string('U',1000),
DBMS_RANDOM.string('U',1000),DBMS_RANDOM.string('U',1000),DBMS_RANDOM.string('U',1000));
insert into t002 values(DBMS_RANDOM.string('U',1000),
DBMS_RANDOM.string('U',1000),DBMS_RANDOM.string('U',1000),DBMS_RANDOM.string('U',1000));
insert into t003 values(DBMS_RANDOM.string('U',1000),
DBMS_RANDOM.string('U',1000),DBMS_RANDOM.string('U',1000),DBMS_RANDOM.string('U',1000));
end loop;
commit;
end;
执行完成后,数据库文件从200MB拓展到了11784MB
c8977d9fe802b2ccd5b088d68c5466d.png
--添加2个数据文件
alter tablespace tbs_test add DATAFILE 'test02.dbf' size 200 AUTOEXTEND on;
alter tablespace tbs_test add DATAFILE 'test03.dbf' size 200 AUTOEXTEND on;
继续插入数据测试,少量数据时,发现会优先使用新添加的数据文件
02和03的文件从200MB分别拓展到了1224MB和1160MB
3f86959af88b3b8d36aa12e5ef11af2.png
继续插入大量数据时,最后拓展的很均匀,3个文件都拓展到了12552MB
image.png
总结:
表空间,添加数据文件后,会优先使用新加的,不会拓展老的,新文件拓展到老文件大小后,老文件才会继续拓展(所有文件同步拓展)。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服