临时表空间不足ORA-01652: unable to extend temp segment by 64 in tablespace
- 在创建表的时候报了这个错误,百度后发现是临时表空间不足。
- 于是首先查询了当前用户下的所有表,看看有没有不需要的进行删除:
select * from tab;
但是删除了没有用的表,发现还是报这个错。 - 然后查看了表的占用空间,看了很多百度的方法,由于个人用户的权限问题,我不是管理员账号,很多语句无法执行,找到最后发现执行这条语句可以查看当前用户表空间使用情况:
select segment_name,bytes/(1024*1024) as "size(M)" from user_segments order by bytes desc
发现有很多之前drop过的表,占用了大量表空间,没有被清除。 - 查看回收站:
SELECT * FROM RECYCLEBIN;
- 确实有很多临时表空间被占用,于是:
清空回收站:PURGE RECYCLEBIN;
这条语句是不可以回滚的,慎用! - 其实一般到这里就可以了。但是我的创建表语句还是报错,重新看了一遍脚本发现是在连接的时候没有写完整,导致有大量的重复数据,使得表过大,修改脚本后可以成功执行了…
- 又是一个大乌龙。