问题描述:
今天建索引的时候报: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;
是否允许自动增长