【工作记录】清理临时表空间的数据文件(TEMP01.DBF)

  • 系统环境: 

开发环境 

  • 背景描述:

由于临时在开发环境创建俩张表,总数据量大概400多万,测试完后把表drop掉,但是发现服务器磁盘被占满了,还剩下几M可用,因为这个盘也存储oracle的数据文件,所以去检查了一下数据文件的大小,果然E:\app\Administrator\oradata\orcl\TEMP01.DBF文件竟然有30多G,咨询度娘后,决定把这个文件清理一下,具体清理步骤如下:

一、创建新的临时表空间temp2

create temporary tablespace temp2
       tempfile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP02.DBF' size 512M reuse
       autoextend on next 640k maxsize unlimited;

 二、更改数据库默认表空间为temp2

alter database default temporary tablespace temp2;

三、删除过大的数据文件存在的表空间temp及数据文件TEMP01.DBF

drop tablespace temp including contents and datafiles;

四、再创建空的临时表空间temp

create temporary tablespace temp
       tempfile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP01.DBF' size 512M reuse
       autoextend on next 640K maxsize unlimited;

五、更改数据库默认表空间为新的表空间temp 

alter database default temporary tablespace temp; 

 六、删除第一步创建的临时表空间temp2

drop tablespace temp2 including contents and datafiles;  

参考链接:https://www.cnblogs.com/pan11jing/archive/2009/12/04/1617053.html


注意事项 :

我在操作的过程中,发现上述操作的第3步,一直执行了3个多小时,还没有删除掉,也才30多G,不应该删除这么久都不成功,于是又找到了新的答案,https://zhidao.baidu.com/question/362228263559709212.html,看到这个问题的推荐答案后,我尝试了一下重启数据库(windows服务器,重启方式在最下方)然后执行删除表空间操作,秒成功;

然后进行第4、5步;

第6步之前需要再次重启数据库,然后删除temp2表空间,清理完毕。


验证方式:

1、拥有dba权限的话,执行如下SQL

select d.file_name, d.file_id, d.tablespace_name, d.bytes/1024/1024/1024 as GB
from dba_temp_files d;

2、进入服务器查看磁盘空间是否释放

 

OK,至此清理临时表空间数据文件工作已完成,如有问题欢迎讨论,一起进步

 

WINDOWS快速重启数据库的方式(确保数据库没有在使用):

1、WINDOWS + R 输入services.msc 回车

2、鼠标随便点击一下服务的列表页

3、键盘按下大写 'O',找到要重启的数据库服务(数据库服务名结尾,如下图选中的记录)

4、点击左上方的重启按钮,等待重启即可

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迟到_啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值