Oracle UNDOTBS1 表空间清理

知识普及

UNDOTBS1是一个回滚表空间,随着数据库的使用,默认会自动扩展。当它增大到一定程度,占用了过多的磁盘空间时,就需要进行清理了

解决方案

这里以表空间UNDOTBS1为例,undotbs2 为新建的表空间

登录数据库服务器

方法一:使用命令行登录

su - oracle

使用dba登录

sqlplus / as sysdba

方法二:使用plsql之类工具登录

查询表空间信息

一般都是UNDOTB开头 我这里是undotbs1 和 /user/oracle/oradata/undotbs01.dbf

SELECT TABLESPACE_NAME as "表空间",
   FILE_ID as "表空间ID",
   FILE_NAME as "文件",
   ROUND(BYTES / (1024 * 1024), 0) || 'M'  as "大小"
FROM SYS.DBA_DATA_FILES
ORDER BY TABLESPACE_NAME; 

重新建立一个新的undo表空间

可自行判断设置初始大小,也可修改成自增长(文章最下面有关有表空间详细操作)

CREATE undo tablespace undotbs2 datafile '/user/oracle/oradata/undotbs02.dbf' SIZE 2048m;  

设置数据库的undo表空间为新的undotbs2表空间

 alter system set undo_tablespace=undotbs2;

删除旧的undo表空间及其内容

 drop tablespace undotbs1 including contents and datafiles;

转载:oracle数据库UNDOTBS空间清理

相关文章:Oracle表空间操作