本文主要是介绍oracle 数据库服务器断电重启导致数据库性能急剧下降之等待事件wait for a undo record,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天,一地市技术反馈,他们数据库无论做什么操作都很慢,让帮忙看下怎么回事。
环境:
服务器:windows server 2008
数据库:oracle 11.2.0.4 单实例
登录数据库服务器,查看资源使用情况,IO比较高,CPU及内存正常:
查看数据库等待事件,wait for a undo record比较突出:
查看数据库回滚进程状态,发现有大量进程处于recovering状态:
select * from v$fast_start_servers where state<>'IDLE';
查看数据库事务回滚量,发现要回滚的事务量比较大:
SQL> select usn, state, undoblockstotal "Total", undoblocksdone "Done", undoblockstotal-undoblocksdone "ToDo",
decode(cputime,0,'unknown',sysdate+(((undoblockstotal-undoblocksdone) / (undoblocksdone / cputime)) / 86400)) "Estimated time to complete"
from v$fast_start_transactions;
进一步与地市技术确认近来数据库是否发生重大操作:
经确认是数据库服务器断电导致服务器重启后,数据库大事务回滚,明显的等待事件是:wait for a undo record,
需要等待数据库完成回滚,wait for a undo record等待事件消失,数据库恢复正常:
这篇关于oracle 数据库服务器断电重启导致数据库性能急剧下降之等待事件wait for a undo record的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!