为什么要修改undo表空的大小呢?因为undo表空的数据文件所在文件系统没空间了,而这个undo表空被设为自动扩展,所以要把undo表空改小点。方法如下:
1.在有空间的地方新建一个临时的undo表空:
CREATE UNDO TABLESPACE TMP_UNDO DATAFILE
'/mydata/UD01.DBF' SIZE 2048M AUTOEXTEND OFF;
2.把现在的undo表空指向这个新建的表空
ALTER SYSTEM SET UNDO_TABLESPACE=TMP_UNDO;
3.把原来的表空文件删除
DROP TABLESPACE UNDOTBS1
INCLUDING CONTENTS AND DATAFILES;
4.在原来undo表空所在地新建一个小一点的undo表空,并把自动扩展关闭
CREATE UNDO TABLESPACE UNDOTBS1 DATAFILE
'/oradata/undotbs01.dbf' SIZE 4096M AUTOEXTEND OFF;
5.把系统undo表空指向第4步中建好的undo表空
ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS1;
6.把第1步建立的临时undo表空删除
DROP TABLESPACE TMP_UNDO
INCLUDING CONTENTS AND DATAFILES;
另外有一个是关于修改临时表空的,与 修改undo表空还不太一样,主要是修改表空指向时用的语句不太一样,地址如下: