缩小Oracle目录下UNDOTBS01.DBF文件的大小
分类: Oracle
使用sys用户登录Oracle
-
方法一:重置表空间大小
执行ALTER DATABASE DATAFILE 'D:ORACLEORADATAUNDOTBS01.DBF' RESIZE 100M;
其中 'D:ORACLEORADATAUNDOTBS01.DBF' 为您系统中UNDOTBS01.DBF文件的存储路径;100M为重置后的大小,根据需要修改
如果方法一无法执行,可使用方法二
-
方法二:新建UNDO表空间,替换原来的UNDO表空间
1. 创建一个新的小的undo表空间
执行
CREATE UNDO TABLESPACE UNDOTBS1
DATAFILE 'E:oradataUNDOTBS01.DBF'
SIZE 100M REUSE AUTOEXTEND ON;
其中 'E:oradataUNDOTBS01.DBF' 为表空间文件想要存储的位置
100M 表示新的表空间的初始大小。
2. 设置新的表空间为系统的Undo表空间
执行
ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS1;
3. 重启数据库
可以使用sys用户,从sqlplus登录,执行startup force命令,强制重启
4. 删除旧的Undo表空间
依旧使用sys用户登录,执行
DROP TABLESPACE UNDOTBS01 INCLUDING CONTENTS AND DATAFILES; //原文件UNDOTBS01.DBF会直接被删除