1、首先查看当前的数据库默认表空间:
SQL>select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
确认当前的临时表空间为TEMP
2、查看目前临时表空间的大小:
SQL>select file_name,tablespace_name,bytes/1024/1024 "MB",autoextensible from dba_temp_files;
3、创建新的临时表空间:(先在其他的磁盘空间借用一下空间)
SQL> create temporary tablespace temp02 tempfile '/home/oracle/temp02.dbf' size 1024M;
4、把新建的临时表空间却换成数据库的默认临时表空间
SQL> alter database default temporary tablespace temp02;
5、确认目前数据库的默认临时表空间
SQL>select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
确认temp02为当前的数据库默认表空间
6、删除temp临时表空间
SQL> drop tablespace temp including contents and datafiles;
7、现在temp02临时表空间占据了别人的磁盘空间,需要重新把临时表空间建立在原来的位置,重新建立temp临时表空间
SQL>create temporary tablespace temp tempfile '/home/oracle/temp01.dbf' size 8192M autoextend on maxsize 15G;
查看新建的temp临时表空间是否正确:
SQL>select file_name,tablespace_name,bytes/1024/1024,maxbytes/1024/1024,autoextensible from dba_temp_files;
8、把新建的temp临时表空间却换成数据库的默认临时表空间
SQL> alter database default temporary tablespace temp;
9、确认目前数据库的默认临时表空间
SQL>select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
确认temp为当前的数据库默认表空间
10、目前把原来的temp临时表空间变成了512M,把剩余的磁盘空间空了出来,temp02临时表空间就没有用了,删除temp02临时表空间
SQL> drop tablespace temp02 including contents and datafiles;