问题:ora-01652 unable to extend temp segment by 128 in tablespace
oracle临时表空间耗尽也不会释放,除非重启数据库.一般出现此类问题建议增大temp
Temporary tablespace是不能直接drop默认的临时表空间的,不过我们可以通过以下方法来做。
准备:查看目前的Temporary Tablespace
SQL> select name from v$tempfile;
NAME
———————————————————————
/product/app/oracle/oradata/uniguard/temp1.dbf
SQL> select username,temporary_tablespace from dba_users;
------------------------------ ------------------------------
USERNAME TEMPORARY_TABLESPACE
------------------------------ ------------------------------
MGMT_VIEW TEMP
SYS TEMP
SYSTEM TEMP
DBSNMP TEMP
SYSMAN TEMP
UNIGUARD TEMP
OUTLN TEMP
MDSYS TEMP
ORDSYS TEMP
CTXSYS TEMP
ANONYMOUS TEMP
USERNAME TEMPORARY_TABLESPACE
------------------------------ ------------------------------
EXFSYS TEMP
DMSYS TEMP
WMSYS TEMP
XDB TEMP
ORDPLUGINS TEMP
SI_INFORMTN_SCHEMA TEMP
OLAPSYS TEMP
MDDATA TEMP
DIP TEMP
SCOTT TEMP
TSMSYS TEMP
22 rows selected.
1.创建中转临时表空间
create temporary tablespace TEMP1 TEMPFILE '/product/app/oracle/oradata/uniguard/temp02.dbf' SIZE 2048M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;
2.改变缺省临时表空间 为刚刚创建的新临时表空间temp1
alter database default temporary tablespace temp1;
3.删除原来临时表空间
drop tablespace temp including contents and datafiles;
4.重新创建临时表空间
create temporary tablespace TEMP TEMPFILE '/product/app/oracle/oradata/uniguard/temp01.dbf' SIZE 2048M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;
5.重置缺省临时表空间为新建的temp表空间
alter database default temporary tablespace temp;
6.删除中转用临时表空间
drop tablespace temp1 including contents and datafiles;
7.如果有必要,那么重新指定用户表空间为重建的临时表空间
alter user arbor temporary tablespace temp;