2021-08-26

Oracle 释放临时表空间常用方法

正常来说,在完成所送select语句、createindex等一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段的。但有些有侯我们则会遇到临时段没有被释放,TEMP表空间几乎满的状况,网上方法众多, 选取常用的两种方法。

方法一、重启库
库重启时,smon进程会完成临时段释放,TEMP表空间的清理操作,不过很多的时侯我们的库是不允许down的,所以这种方法缺少了一点的应用机会,不过这种方法还是很好用的。

方法二、shrink
从Oracle Database11g 版本1 开始,可使用ALTER TABLESPACE SHRINK SPACE 命令收缩临时表空间,也可以使用ALTER TABLESPACE SHRINKTEMPFILE 命令收缩临时文件。对于这两个命令,可以指定可选的KEEP 子句,该子句定义了表空间/临时文件可收缩到的下限。

SQL>alter tablespace temp shrink space;

清理临时表空间后
1、验证收缩结果

SQL>select file#,name,bytes/1024/1024 MB from v$tempfile;

2、临时表空间大小重置

ALTER DATABASE TEMPFILE '/u01/app/oracle/oradata/temp01.dbf' RESIZE 100M;

3、查询临时表空间的扩展属性

SQL>select * from dba_temp_files where tablespace_name='TEMP';

4、临时表空间设置为自动扩展并设置datafile的大小上限,最高不超过32G

SQL>alter database tempfile '/u01/app/oracle/oradata/temp01.dbf' autoextend on next 50m maxsize=10000M;

5、亦可以增加数据文件

SQL>alter tablespace temp add tempfile '/u01/app/oracle/oradata/temp02.dbf'  size 500m autoextend on next 50m maxsize=10000M;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值