Oracle 重建UNDO 表空间

当Oracle数据库的UNDO表空间满时,删除操作导致ORA-30036错误。解决步骤包括:检查UNDO表空间使用情况,创建新的UNDO表空间,设置系统使用新表空间,更新SPFILE配置,确认切换并离线旧表空间,最后删除旧的UNDO表空间及其文件。
摘要由CSDN通过智能技术生成
采用delete的方法删除一个100G表中的部分历史数据,结果删除过程出现了ORA-30036:无法按8扩展段的错误,原因是undo表空间满了。
1.使用如下语句检查表空间,发现表空间已经到了原来的最大设定值,99.7%已经被使用;
 select b.tablespace_name as "表空间",       b.file_name as "物理文件名",
       b.bytes / 1024 / 1024 as "当前大小(M)",
       (b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 as "已使用(M)",
       substr((b.bytes - sum(nvl(a.bytes, 0))) / (b.bytes) * 100, 1, 5) as "使用率(%)",
       case b.autoextensible
         when 'YES' then '是'
         else '否'
       end as "是否自增",
       b.maxbytes / 1024 / 1024 as "自增最大容量(M)"
  from dba_free_space a, dba_data_files b
 where a.file_id = b.file_id
   and a.tablespace_name in ('UNDOTBS1')
 group by b.tablespace_name, b.file_name, b.bytes, b.autoextensible, b.maxbytes
 order by b.tablespace_name;


2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值