oracle临时表空间占用率过高,ORACLE临时表空间太大,如何处理?

近几天意外发现oracle所在的D盘占用量激增.发现oracle实例mydata下的数据文件temp01.dbf居然达到了30个G.

temp01.dbf是数据库的临时数据文件,存放在临时表空间temp中,如何减小呢.

原因:没有给临时表空间设置上限.导致数据文件无限增大.

思路1:创建新的临时表空间,设置数据文件上限,删除原来的临时表空间

a.创建新的临时表空间

CREATE TEMPORARY TABLESPACE mytemp

TEMPFILE 'D:\oracle\product\10.1.0\oradata\mybase\mytemp.dbf' SIZE

2G REUSE EXTENT MANAGEMENT local UNIFORM SIZE 256m;(不带自增长)

CREATE TEMPORARY TABLESPACE mytemp

TEMPFILE 'D:\oracle\product\10.1.0\oradata\mybase\mytemp.dbf' SIZE

521M REUSE AUTOEXTEND ON NEXT 512M MAXSIZE 2G

EXTENT MANAGEMENT local UNIFORM  SIZE

256M;(自增长)

b.设置新的默认表空间

ALTER DATABASE DEFAULT TEMPORARY

TABLESPACE mytemp;

c.删除原来的临时表空间

DROP TABLESPACE temp INCLUDING

CONTENTS AND DATAFILES;

d.手动删除temp01.dbf文件(如果提示正在被使用,重启数据库就可以删除)

e.验证

SELECT * FROM DBA_TEMP_FILES;

思路2:直接对原来的临时表空间进行设置

a.ALTER DATABASE

TEMPFILE'D:\oracle\product\10.1.0\oradata\mybase\temp01.dbf' RESIZE

2G;

或者

ALTER

DATABASE TEMPFILE

'D:\oracle\product\10.1.0\oradata\mybase\temp01.dbf' AUTOEXTEND ON

NEXT 512M MAXSIZE 2G;

b.验证

SELECT * FROM DBA_TEMP_FILES;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值