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 * from database_properties where propertyname_name=''
--创建新的临时表空间
create temporary tablespace temp02 tempfile'E:\oracle\aradata\lims\TEMP2.DBF'size 1024M on
--修改默认表空间为刚刚建立的默认表空间
alter database default temporary tablespace temp02
--删除原来的临时表
drop tablespace temp including contents and datafiles
--这样不就Ok了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)