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表空间操作