Linux中修改oracle临时表空大小

    其实这是从网上学来的,算不上很高深,怕自己忘记了,记下来。

    为什么要修改oracle临时表空的大小呢?因为临时表空所在的文件系统没有空间了。本来设置的是2G的临时表空

    针对这种情况,本来想用:ALTER DATABASE TEMPFILE '/ORADATA/TEMP01.DBF' RESIZE 1024M进行改变大小的。但在TOAD中看了一下Minimum Size,说最小也只能缩到2048M,也就是不能直接缩小了,上网查到一个曲线救国的方法:

    1.在其它有空间的地方新建一个中转的临时表空

    2.用ALTER DATABASE DEFAULT TEMPORARY TABLESPACE 语句把临时表空指向新的临时表空。

    3.用DROP TABLESPACE把旧的临时表空删除

    4.在原来的文件系统上新建一个小一点的临时表空

    5.再用ALTER DATABASE DEFAULT TEMPORARY TABLESPACE把临时表空指向这个小一点的临时表空。

    6..用DROP TABLESPACE把中转的临时表空删除。

 

    实际方法如下:

   1.新建一个用于中转的临时表空:
CREATE TEMPORARY TABLESPACE temp2 TEMPFILE
  '/setup/temp02.dbf' SIZE 2048M AUTOEXTEND OFF
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

   2.把临时表空指向中转表空:

   alter database default temporary tablespace temp2;

   3.删除原来的临时表空:

   drop tablespace temp  including contents and datafiles;

   4.在原来的文件系统新建一个小一点的临时表空

  CREATE TEMPORARY TABLESPACE temp TEMPFILE
  '/oradata/temp01.dbf' SIZE 1024M AUTOEXTEND OFF
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

   5.把临时表空再指向新建好的表空:

  alter database default temporary tablespace temp;

  6.删除用于中转的表空:

   drop tablespace temp2  including contents and datafiles;

 

以上在oracle9i环境中通过。

  如果想看看临时表空的表文件放在哪里,可以在Tablespace中看,也可以在sys用户的视图v_$tempfile(或者是v$tempfile)中看。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值