解决ora-01652无法通过128(在表空间temp中)扩展temp段

时间:2023-12-29 09:50:02

问题描述:

今天建索引的时候报:ora-01652无法通过128(在表空间temp中)扩展temp段

1.查看表空间是自动增长,且建表空间时是没有设表空间最大值的。

2.查看了一下表空间剩余多少竟然只有14M,感觉很奇怪,为什么没有自动增长呢?

3.查看表空间文件已经快32G,这样就明白了。

原因是:oracle中一个数据文件的最大值(非lob)为32G,如果你的数据文件已经达到32G,

  那么不管你是插入数据,建索引,都会报“解决ora-01652无法通过128(在表空间temp中)扩展temp段”

解决方法:

  再加一个数据文件,脚本如下:

  ALTER TABLESPACE "表空间名"
    ADD
    DATAFILE 'D:\oracle\product\11.2.0\ORADATA\FLW2.DBF' SIZE 5000M

用oracle 管理器,在存储-表空间,里同样可以设。

 表空间路径:'D:\oracle\product\11.2.0\ORADATA\FLW2.DBF'

表空间初始值:5000M

查看表空间还有多少大 小语句:

Select a.Tablespace_Name, Total, Free, Total - Free Used
From    (Select Tablespace_Name, Sum(Bytes) / 1024 / 1024 Total
From Dba_Data_Files
  group By Tablespace_Name) a,
   (Select Tablespace_Name, Sum(Bytes) / 1024 / 1024 Free
From Dba_Free_Space
  group By Tablespace_Name) b
  where a.Tablespace_Name = b.Tablespace_Name;

查看表空间大小

查看一个表空间是否允许自动增长语句:

SELECT FILE_NAME, TABLESPACE_NAME, AUTOEXTENSIBLE FROM DBA_DATA_FILES;

是否允许自动增长