oracle怎么删除临时表空间?
1个回答
展开全部
首先查看temp是不是某些用户的默认表空间
SELECT USERNAME,TEMPORARY_TABLESPACE FROM DBA_USERS;
如果有用户的默认临时表空间是temp的话,建议进行更改
alter user xxx temporary tablespace tempdefault;
设置tempdefault为默认临时表空间
alter database default temporary tablespace tempdefault;
然后用你列出来的语句删除即可
drop tablespace temp including contents and datafile;
即便丢失了所有的临时表空间,只要不是数据库当中用到了order by、子查询、group by、distinct等需要消耗临时表空间的语句(而且要比较大才行,小的话就直接用pga的SORT_AREA区了),那么也不会对业务造成错误导致中断,发现问题之后只需要新建一个临时表空间就可以了。你要是了解备份恢复的话,实际上在进行备份的时候临时表空间都不会进行备份,而只是有一个创建临时表空间的语句而已。
SELECT USERNAME,TEMPORARY_TABLESPACE FROM DBA_USERS;
如果有用户的默认临时表空间是temp的话,建议进行更改
alter user xxx temporary tablespace tempdefault;
设置tempdefault为默认临时表空间
alter database default temporary tablespace tempdefault;
然后用你列出来的语句删除即可
drop tablespace temp including contents and datafile;
即便丢失了所有的临时表空间,只要不是数据库当中用到了order by、子查询、group by、distinct等需要消耗临时表空间的语句(而且要比较大才行,小的话就直接用pga的SORT_AREA区了),那么也不会对业务造成错误导致中断,发现问题之后只需要新建一个临时表空间就可以了。你要是了解备份恢复的话,实际上在进行备份的时候临时表空间都不会进行备份,而只是有一个创建临时表空间的语句而已。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询