持久性错误 - 无法在表空间TEMP

时间:2017-12-29 21:15:59

标签: oracle oracle11g

我收到的查询是TEMP表空间中的空间不足。 (请参阅下面的错误消息)作为让用户重新启动并运行的快速解决方案,我只需将TEMPFILE添加到表空间即可。 (参见下面的alter statement)但是,当我再次运行查询时,它仍然没有空间。我可以从查询dba_temp_files看到表空间非常大,它确实包含两个数据文件,但我认为MAXSIZE UNLIMITED子句可以通过不允许新数据文件空间不足来解决我的问题。

除了重写查询外,你还会推荐什么?

谢谢!
戴夫

SQL Error: ORA-01652: unable to extend temp segment by 128 in tablespace TEMP
01652. 00000 -  "unable to extend temp segment by %s in tablespace %s"
*Cause:    Failed to allocate an extent of the required number of blocks for
           a temporary segment in the tablespace indicated.
*Action:   Use ALTER TABLESPACE ADD DATAFILE statement to add one or more
           files to the tablespace indicated.

ALTER TABLESPACE temp
  ADD TEMPFILE '+DATAC1/cop3/tempfile/temp01.dbf' SIZE 10g
  AUTOEXTEND ON
  NEXT 1g
  MAXSIZE UNLIMITED;

SQL> SELECT substr(tablespace_name,1,4) as tbls,
  2         substr(file_name,1,40) as file_name,
  3         bytes/1000000000 as gigabytes
  4    FROM dba_temp_files
  5   WHERE tablespace_name = 'TEMP'
  6  ;

TBLS FILE_NAME                                 GIGABYTES
---- ---------------------------------------- ----------
TEMP +DATAC1/cop3/tempfile/temp.771.915115045 21.4748365
TEMP +DATAC1/cop3/tempfile/temp01.dbf          34.359722

0 个答案:

没有答案