阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

undo表空间爆满解决方法

286次阅读
没有评论

共计 823 个字符,预计需要花费 3 分钟才能阅读完成。

本人在公司搭建了三套 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 秒。

更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-12/149489.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计823字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中