背景:初始创建的表空间只有一个数据文件,使用中由于自动拓展,数据文件变的很大,已经到了几百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
--添加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
继续插入大量数据时,最后拓展的很均匀,3个文件都拓展到了12552MB
总结:
表空间,添加数据文件后,会优先使用新加的,不会拓展老的,新文件拓展到老文件大小后,老文件才会继续拓展(所有文件同步拓展)。
文章
阅读量
获赞