今天在Oracle数据库上进行查询时报错:
`ORA-25153`: Temporary Tablespace is Empty
原因排查:
- 用户临时表空间是否指定:
SQL> select username,temporary_tablespace from dba_users where username='<username>';
查询到结果为TEMP
表空间
- 查询表空间是否为ONLINE:
SQL> select tablespace_name, file_name from dba_temp_files;
查询结果为ONLINE
- 查询是否指定表空间数据文件:
SQL> select tablespace_name, file_name from dba_temp_files;
没有查询到结果,说明没有指定的表空间文件
解决办法:
为表空间添加对应的数据文件,首先查找当前数据库中数据文件的存放位置:
SQL> select name from v$datafile;
随意找一个就可以,一般数据文件都会放在同一个目录下,然后为TEMP
临时表空间添加数据文件:
SQL> alter tablespace TEMP add datafile '<dir>/temp.dbf';