微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

删除临时表空间

问题描述:进行数据库的数据清理,已经清理了4.6T的一个表空间,下边的大对象还有一个将近两个T的临时表空间需要清理。临时表空间的使用率并不高,当时被建到了两个T也不得而知,首先要先将用户认临时表空间切换到新的,然后将老的删除

 

1.当前RAC的数据盘free_mb 大概为5T,数据冗余类型是HIGH,三分冗余,后边清掉了一个4.6T的表空间,清理空间为15T,然后在清理一个用户下的临时表空间,2T左右。

 

 

2.查看临时表空间的使用率

select c.tablespace_name,to_char(c.bytes/1024/1024,'99,999.999') total_gb,to_char( (c.bytes-d.bytes_used)/) free_gb,to_char(d.bytes_used/) use_gb,to_char(d.bytes_used*100/c.bytes,1)">99.99') || %use
from  ( tablespace_name,sum(bytes) bytes
from dba_temp_files GROUP by tablespace_name) c,( v$temp_extent_pool GROUP by tablespace_name) d
where c.tablespace_name = d.tablespace_name;

 

 

 

 3.创建临时表空间,为了切换

 

 

4.查看此时用户认临时表空间,此时已经切换回来了,如果出现认的临时表空间为两个的话,可能是还有操作在旧的临时表空间中工作

select username,default_tablespace,temporary_tablespace from dba_users where username=GDM'

 

 

 

 

5. 查看临时表空间的连接会话,发现已经没有了旧的连接表空间的会话了

select inst_id,username,session_num,sql_id,tablespace,segtype,sum(blocks)*8/1024 size_in_gb from gV$TEMPSEG_USAGE group by inst_id,segtype

 

 

 

 

 6.删除旧的临时表空间

 

drop tablespace GDM_TEMP including contents and datafiles cascade constraint;

 

 

 

 

 

 

 

7.删除完查看空间的释放情况,释放空间到了20T

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐