ORA-03206,当表空间不够时,如何以添加数据文件的方式扩展表空间

时间:2023-12-04 14:34:20

准备导入一个数据库,大约为33G,开始创建的空库表空间为自增到20G,结果自然不够,然后就开始自动扩展表空间大小

使用的如下语句

--自动扩展表空间大小
ALTER DATABASE DATAFILE 'E:\app\oracle\oradata\ORCL\WORKFLOW01.ora' AUTOEXTEND ON NEXT 200M MAXSIZE 60000M;

然后就提示 ORA-03206,块大小超出范围云云

查了一下说是单个文件最大为32G,这里自增的有将近60G,所以就报错了

看了很多资料,觉得增加数据库文件是个较好的方法,可以为这个表空间增加多个数据文件,每个自增到30G,这样就达到了扩展表空间的目的

首先,建立一个自动扩展的表空间

--创建表空间1
CREATE SMALLFILE
TABLESPACE "WORKFLOW01"
LOGGING
DATAFILE
'E:\app\oracle\oradata\ORCL\WORKFLOW01.ora' SIZE
2048M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
开始大小不必过大,2G即可,太大的话创建起来很耗时

然后将该表空间设置为自增,自动扩展为30G

ALTER DATABASE DATAFILE 'E:\app\oracle\oradata\ORCL\WORKFLOW01.ora' AUTOEXTEND ON NEXT 200M MAXSIZE 30720M; 

这样就创建好了一个可自动扩展为30G的表空间,但是这样还不够,要为这个表空间添加数据文件,继续扩容

alter tablespace "WORKFLOW01" add datafile
'E:/app/oracle/oradata/ORCL/WORKFLOW01.dbf'size 128M 注意:是这个“/”,而不是“\”
autoextend on next 200M
maxsize 30720M

这样就为表空间WORKFLOW01.ORA新增了一个数据文件WORKFLOW01.dbf

在文件夹中是下图效果

ORA-03206,当表空间不够时,如何以添加数据文件的方式扩展表空间