undo表空间爆满解决方法

当时undotbs2和undotbs3还是满空间,就想着通过重启,然后同事付托我重启,然后没有留意,就直接重启。然后报错。

无法找到对应的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个小时。

我的天,默认是900秒的,怪不得undo表空间一直不够,原来是这个原因。业务不断用,数据不断累积,又不释放。终于找到原因了,立马把它改为900秒。

猜你喜欢

转载自www.linuxidc.com/Linux/2017-12/149489.htm
今日推荐