Undo表空间引发的灾难

本人在公司搭建了三套oracle集群,据开发同事反映,说集群3的undo表空间老是爆满,资源也不释放,因为业务问题,不能宕机。然后他就不断的新建undo表空间,一直新建到undotbs6,本来默认是两个的(undotbs1和undotbs2)。然后undo表空间越来越大,是在没办法了,他就通过删除undo表空间的方法,不过删除的时候,删错了,删到了undotbs1,一共删除了(undotbs1和undotbs4,undotbs5,undotbs6)。
当时undotbs2和undotbs3还是满空间,就想着通过重启,然后同事付托我重启,然后没有留意,就直接重启。然后报错。
Undo表空间引发的灾难
无法找到对应的undo表空间。然后我就想了想,只能通过修改pfile的方法,通过把单一节点数据库启动到mount状态,通过
create pfile='$ORACLE_HOME/dbs/ora_1214.ora' from spfile; 然后修改pfile,把undo表空间改为undotbs2和undotbs3,然后通过pfile启动数据库,最后要通过当前的pfile创建spfile,要不然下次也会报错。
这只是解决了正常启库的问题,最大的问题是undo表空间爆满的问题,这样删除undo表空间只是治标不治本,以后还是重蹈覆辙。通过查资料,和查数据库的参数,发现一个参数:undo_retention 事务提交后保存在undo表空间的时间被修改成了18000秒,也就是5个小时。
Undo表空间引发的灾难
我的天,默认是900秒的,怪不得undo表空间一直不够,原来是这个原因。业务不断用,数据不断累积,又不释放。终于找到原因了,立马把它改为900秒。
呼~菜鸟的我又学到了东西了。

转载于:https://blog.51cto.com/newcourage/2050816

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值