Oracle UNDOTBS01.dbf 占用空间过大解决

发布时间 2023-04-25 17:47:04作者: 巍巍之道

在无法使用第一种方法压缩占用空间的情况下,可以使用本方法。

 

UNDOTBS01.dbf是oracle系统undo_tablespace使用的,其作用为:
回退事务、读一致性、事务恢复、倒叙查询(FlashBack Query)

 

1、先查看在使用UNDOTBS01.dbf的undo_tablespace表名:

使用sqlplus连接数据库,输入命令

show parameter undo;


2、建立一张新的undo_tablespace:

create undo tablespace undotbs02 datafile 'D:\Oracle\oradata\orcl\UNDOTBS02.dbf' size 100m autoextend on next 100m;
--注意:Linux下的目录分隔符要使用正斜杠“/”


3、将系统undo_tablespace指向新的表空间:

alter system set undo_tablespace=undotbs02;


4、删除原来的表空间及数据文件:

drop tablespace undotbs1 including contents and datafiles;


若要禁止undo_tablespace自动增长

alter database datafile 'D:\Oracle\oradata\orcl\UNDOTBS02.dbf' autoextend off;