当出现临时表空间不足时,可能是由于临时表空间的大小不足并且设置了临时表空间不能自动扩展造成的。
首先查询字典表,检查当前临时表的相关状态
SELECT * FROM DBA_TABLESPACES;
修改当前用户的临时表空间对应的数据文件为自动扩展,这里为TEMP201.DBF
ALTER DATABASE DATAFILE 'D:/oracle/product/10.2.0/oradata/cognos/TEMP201.DBF'
AUTOEXTEND ON
修改当前用户的临时表空间为自动扩展,这里为temp1
ALTER TABLESPACE temp1 AUTOEXTEND ON
以上步骤如果不能成功解决问题,有时会出现表空间为smallfile问题,可以采用以下方法解决(相对简单有效,不过要需要创建临时表空间)
创建新的临时表空间,这里创建的是一个Bigfile类型的并且可以自动扩展的临时tablespace
CREATE BIGFILE TEMPORARY TABLESPACE temp3 TEMPFILE 'D:/oracle/product/10.2.0/oradata/cognos/TEMP3.DBF'
SIZE 100M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL;
设置当前用户的临时表空间至刚创建的新的临时表空间
ALTER USER TEST TEMPORARY TABLESPACE temp3;