問題描述:
今天建索引的時候報: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;