今天下班之前同事过来找我寻求帮助,说是某客户的ORACEL数据库服务器从昨天起就开始很奇怪,一个语句执行很慢很慢,好像整个系统都卡住了。

     问题1:请问最近应用系统有更新过程序吗?答:没有更新。
     问题2:请问最近数据库有过什么配置变更吗?答:没变更。
     问题3:存储相关的有什么施工吗?答:也没有。
     " OK,那么我们就一起检查检查是什么情况吧!"
      一登陆系统,发现操作系统真的不是一般的卡,连开个文件夹什么的都响应很慢。打开任务管理器观察情况,发现CPU的负荷并不是很高,内存占用也正常,看来这个界面无法满足咱的要求了。
      继续打开控制面板里面的“性能”窗口,可以看到红线跟蓝线都正常,但是绿线确几乎一致保持在最高点形成一条直线。看来问题主要是出现在IO上了,这样的IO实在是太夸张了。接下来,我们一起寻找IO高的原因吧。
      通过SQL DEVELPER连接上数据库,查看V$SESSION中wait_class#<>6的会话,发现wait for a undo record事件一直都出现在结果中,这是一个很不正常的情况,并且是同一个会话一直长时间保持。嘿,这玩意到底在干嘛?哦,原来是一只有东西在回滚,而且因为开启了并行,导致直接把所有的资源都抢占光了,其他东东什么都不用干了。。。
      怎么办?继续查找资料,有人说可以关掉并行,这样就不会出现强烈的资源竞争导致系统直接卡死的情况了。处理过程具体如下:
        1、shutdown immediate --关闭数据库
        2、startup nomount      --启动到nomount模式
        3、alter system set fast_start_parallel_rollback = FALSE scope=spfile  --关闭并行回滚
        4、shutdown immediate  --关闭数据库
        5、startup                       --重启数据库
      再次检查性能状况,发现IO还是偏高,但是系统已经不至于说卡到连动个鼠标都难的情况了。初步判断,应该是因为并行导致回滚的进程占用了绝大部分的资源,机器根本无法去“理睬”其他的操作了。

与wait for a undo record相关的系统卡死的更多相关文章

  1. MySQL学习总结:提问式回顾 undo log 相关知识

    原文链接:MySQL学习总结:提问式回顾 undo log 相关知识 1.redo 日志支持恢复重做,那么如果是回滚事务中的操作呢,也会有什么日志支持么? 也回滚已有操作,那么就是想撤销,对应的有撤销 ...

  2. Agent Job相关的系统表

    参考: http://www.cnblogs.com/CareySon/p/5262311.html msdb中,有三张与Agent Job相关的系统表,需要了解一下 msdb.dbo.sysjobs ...

  3. rhel及相关linux系统版本知识

    Rhel 此处Rhel非等同redhat哦,RedHat是红帽公司在1994年左右开发维护的linux桌面版本,在2004年左右红帽公司放弃redhat开始进军linux服务器版本开发,具体见下截图 ...

  4. JS自定义对象以及相关成绩系统完整案例演示

    [自定义对象] 1.基本概念 ①对象是拥有一系列无无序属性和方法的集合 ②键值对:对象中的数据,用以键值对的形式存在,对象的每个属性和方法,都对应一个键值,以键取值 ③属性:描述对象特征的一系列变量称 ...

  5. Jquery table相关--工时系统

    1.jquery 的弹出对话框,单击事件之后 if (confirm("确定要删除?")) { // //点击确定后操作 } 2.对某个table中的checkbox是否被选中的遍 ...

  6. Mac中如何高亮显示当前git分支以及相关切换系统默认shell操作

    前言 在开发中对于使用git的同学,肯定会需要高亮显示当前分支,我们今天就来说一种最简单的办法,先来看一下效果图 实现 1.安装item2 https://www.iterm2.com 2.安装oh- ...

  7. Undo 相关的等待事件和已知问题 (Doc ID 1575701.1)

    Undo Related Wait Events & Known Issues (Doc ID 1575701.1) APPLIES TO: Oracle Database - Enterpr ...

  8. undo空间满的处理方法(含undo的学习与相关解释)

    1.查看数据库当前实例使用的是哪个UNDO表空间: show parameter undo_tablespace 2.查看UNDO表空间对应的数据文件和大小 pages col file_name f ...

  9. 总结Oracle8i 的UNDO表空间损坏(ORA-01092及ORA-00600【4193】)情况下的数据库不完全恢复的经历

    服务器断电重启导致备份生产环境的恢复目录库无法进行启动,提示Ora-01092例程终止.强行断开连接 查看跟踪日志: Wed Jan 10 08:41:37 2018 Errors in file d ...

随机推荐

  1. JavaScript网站设计实践(三)设计有特色的主页,给主页链接添加JavaScript动画脚本

    一.主页一般都会比较有特色,现在在网站设计(二)实现的基础上,来给主页添加一点动画效果. 1.这里实现的动画效果是:当鼠标悬停在其中某个超链接时,会显示出属于该页面的背景缩略图,让用户知道这个链接的页 ...

  2. Ubuntu10.04下载并编译Android4.3源代码

    注:转载或引用请标明出处    http://blog.csdn.net/luzhenrong45/article/details/9719433 去年用Ubuntu10.10成功下载并编译Andro ...

  3. endif、endforeach

    <?php if ($a == 5): ?>  <div>等于5</div><?php elseif ($a == 6): ?>  <div> ...

  4. sass+require实现侧边栏

    一.效果图(如下)及使用的技术 实现用sass实现页面中右侧固定侧边栏的样式,用require.js实现返回顶部的功能 二.sass 具体的sass的介绍就不多说了,大家可以参考sass官网介绍,下面 ...

  5. Servlet原理

    Servlet主要用来处理客户端请求并将其结果发送到客户端,下面我们来详细看一下Servlet. 一.Servlet的生命周期 Servlet的生命周期是由Servlet的容器来控制的(Tomcat ...

  6. 【转】MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作

    [转]MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作 上一篇博文MyBatis学习总结(一)——MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据, ...

  7. oracle两种导出导入方式,即imp与impdp之比较

    尽管使用了很多次impexp及impdpexpdp但是使用起来还是会遇到很多问题,现总结如下: 应用:将一个用户的所有表结构及索引,触发器,过程,函数等导入到另一用户里 imp/exp 导出用户表结构 ...

  8. 快速了解Scala技术栈

    http://www.infoq.com/cn/articles/scala-technology/ 我无可救药地成为了Scala的超级粉丝.在我使用Scala开发项目以及编写框架后,它就仿佛凝聚成为 ...

  9. ###学习《C++ Primer》- 2

    点击查看Evernote原文. #@author: gr #@date: 2014-10-01 #@email: forgerui@gmail.com Part 2: STL顺序容器(第9章) 一.标 ...

  10. oc 基础知识

    一.枚举 结构体 typedef enum{ sexMan, sexWoman }Sex;   tydedef struct{    int year;    int month;    int da ...