undo表空间暴长,如何取消自动扩展

今天在 itpub 上被问到一个问题, undo 表空间原来被设置成了自动扩展,现在已经有 10G 大小了,如果这样下去,硬盘早晚撑暴;
  俺说了一下自己的想法:
   重新建立一个undo2表空间,不要设置为自动扩展,指定最大值,然后切换undo1到这个新的undo2表空间,等到所有事务都移动到undo2以后,删除undo1即可。

 如果原来的undo1上没有活动的事务的话,可以直接删除,重新建立。
 
查了一下资料,用一下命令:
alter database datafile 文件路径 autoextend off;取消自动扩展,
alter database datafile 文件路径 autoextend on;设置自动扩展。
也可以实现。
 
查看表空间数据文件是否为自动扩展:
SQL> col FILE_NAME format a40
SQL> col TABLESPACE_NAME format a20
SQL> select file_id,file_name,tablespace_name,autoextensible from dba_data_files order by file_id;
  
    FILE_ID FILE_NAME TABLESPACE_NAME AUT
   ---------- ---------------------------------------- -------------------- ---
    1 C:/ORACLE/ORADATA/ORADB/SYSTEM01.DBF SYSTEM YES
    2 C:/ORACLE/ORADATA/ORADB/RBS01.DBF RBS YES
    3 C:/ORACLE/ORADATA/ORADB/USERS01.DBF USERS YES
    4 C:/ORACLE/ORADATA/ORADB/TEMP01.DBF TEMP YES
    5 C:/ORACLE/ORADATA/ORADB/TOOLS01.DBF TOOLS YES
    6 C:/ORACLE/ORADATA/ORADB/INDX01.DBF INDX YES
    7 C:/ORACLE/ORADATA/ORADB/DR01.DBF DRSYS YES
    8 D:/TEST.DBF TEST NO
已选择 8 行。
说明: TEST 表空间用以下语句创建的一个实验表空间,没有指定 AUTOEXTEND ON  参数,所以不是自动扩展。
   SQL> create tablespace test datafile
    2 'd:/test.dbf' size 5M
    3 default storage (initial 1M next 1M pctincrease 0)
    4 /

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值