我用hibernate执行SQL查询,应用程序给出错误:
ORA-01652:无法扩展临时段
TABLE SPACE有4 GB。
奇怪的是,昨天来自应用程序的查询工作正常,今天它无法正常工作。
我没有在数据库或应用程序中进行任何更改。
oracle版本是Oracle 11g
答案 0 :(得分:0)
你在临时表空间中空间不足,使用此查询t检查临时表空间中有多少空间
SQL> select file_name,SUM(bytes)/1024/1024 "Current_size_mb", sum(maxbytes)/1024/1024 "max_size_mb" from dba_temp_files group by file_name;
FILE_NAME Current_size_mb max_size_mb
---------------------------------------------------------------------- --------------- -----------
C:\AKS\AKDB\ORADATA\RESEARCH\TEMP01.DBF 20 32767.9844
向临时表空间添加新的临时文件
SQL> alter tablespace temp add tempfile 'C:\AKS\AKDB\ORADATA\RESEARCH\TEMP02.DBF' size 100m autoextend on maxsize 1g;
答案 1 :(得分:0)
名为TEMP的临时表空间,数据库在内部使用它来执行诸如distinct,join等操作以获取大量数据。
因此,在增加TEMP表空间的大小后,可以解决问题。