前几天的时候帮助一个网友看了他遇到的一个问题,在问题处理中也让我有不少的感悟。
最开始的时候这位网友的问题是一个10gR2的单实例数据库,监听无法正常关闭和启动,他在尝试了杀进程之后,重新启动还是会一直卡在那里。

看到这个地方,感觉是一个新环境,看来是网络哪里出现了问题,要么就是配置出现了问题。
在这种情况,配置情况很难一一去确认猜测,所以我就问他能否远程协助,很快就连了过去。
当他打开/etc/hosts文件的时候,感觉里面的配置信息似乎有些过于简单了,里面只有localhost和127.0.0.1的配置,我准备朝这个方向来分析,是否配置出现了问题,检查了网络配置,目前所看到的的配置都是取默认值,正在我分析的时候,他告诉我说,这个数据库以前好好的,今天出了点问题,不知道怎么的监听就无法重启了。而话外之意,为什么要重启还是有应用的同学反馈连接问题,这样听来也蛮有道理。
    所以听到这里,我就停下来手中正在进行的配置信息检查。而准备换一个思路来考虑这个问题。
在重启的间隙里,我让他再打开一个窗口,使用top查看,发现CPU idle竟然是0,也就意味着现在的系统负载极高,CPU资源是已经被全部占完了,看到这里这位网友就有些不知所措了。我想了想,首先停止正在重启的监听工作,然后查看目前系统的CPU瓶颈究竟在哪里。从top结果来看,主要的CPU资源都是在数据库的会话进程上,而且从进程信息可以看出这些会话的持有时间已经超过20多个小时了,占用率都不低。这种情况下初步感觉就是相关的SQL语句出现了问题,当然要连接数据库检查还是要征得这位网友的同意,结果使用sqlplus登录竟然毫无反应,所以数据库层面的检查工作就很有限了。那我就从数据库日志中来尝试得到一些有用的信息,但是奇怪的是系统从昨天开始到现在竟然没有任何的日志输出,这个就极为奇怪了,总得切一次归档吧,竟然一丁点日志都没有。所以这个数据库不光是因为资源消耗高而完全阻塞了,从目前的情况来看是有僵死的感觉。
  但是凡事不能太肯定,所以我们还是先做保守的工作,我看了下数据库目前有近80个用户进程,资源消耗都很高,所以我的建议就是先释放系统资源,即从操作系统层面来杀掉一些资源使用较高的会话,从实际来看,大量的会话持续20多个小时,肯定是有问题的。先保证业务可以恢复为先,所以在告诉网友要旨之后,让他来从本地操作一下。清理了近30多个进程之后,查看系统资源,CPU idle依然是0,从top来看资源使用依旧很高。所以逐步加大了杀掉进程的幅度,最后差不多了,查看top发现idle还是很低,所以这个问题就让人很纠结。
最后相关的会话都杀掉了,数据库的负载依旧是CPU 100%,这就让人无奈了,然后开启第二套方案,既然杀掉会话依然无济于事,我们开始尝试停止数据库,数据库实例有5个后台必备进程,但是我在尝试kill了smon,pmon之后,查看dbwr,lgwr,ckpt进程竟然依旧存在,而且资源占用依旧很高。最后一一杀掉会话,我想这下总会可以了吧,没想到这次确实有效果了,CPU资源一下子释放了,我建议这位网友尝试重启数据库,看看是否有大问题,但是我在远程运行sqlplus -v竟然没有任何反应,所以感觉问题又出现了。在这种情况下,sqlplus没有响应,后面的工作是压根没法做了。感觉问题越来越缥缈,这个时候我的一个基本建议就只剩下了重启系统,但是前提是先备份数据然后重启,因为按照这种情况重启如果失败,那数据就全丢了,这个库目前没有开启归档,所以丢数据的概率极高,在这一点上我还是很谨慎的。所以我是强烈建议先备份,然后重启数据库。
     碰到这种情况着实让我有些担心,而且这台服务器存在一些硬伤,硬件配置太老旧了,内存是4G,而且上面竟然还跑了几个其他的业务,数据库的版本过低,很有可能触发一些bug之类的,对于这个问题还真是纠结,看来只能看看重启大发是否生效了,当然为了表明我的态度,不要出现二义性,我还专门打了一个电话给他,想他确认了一些信息。做完之后就等待他的进度反馈了,在我坐车回家之后,这位网友告诉我说,已经重启系统了,重启之后,数据库就自动启动了,监听使用也没有问题。而他也是带着赌一赌的感觉,没有做备份,当然这是大家都愿意看到的境地,问题解决了,但是我还是建议他以后需要及时保留备份,在问题真正出现的时候,能够少一些扯皮和推诿。
    后面又帮他看了几个小问题,不过已经不重要了,因为主要的问题已经解决了。这个案例着实让我很纠结,不断调整着对于操作的最低要求,这个案例还是需要大家保持冷静,要不数据丢失就不是简单的技术问题了。

记一次远程协助的排错案例相关推荐

  1. [中国电信 外网ip 光猫 端口映射 端口转发 远程协助]记一次和中国电信获取外网ip并设置端口映射、端口转发以及设置光猫 成功外网远程协助的过程

    环境 湖北电信 得到外网ip 拨打10000电话 "是否可以把我拨打的手机号的下的宽带变更为外网ip" 客服小姐姐核实宽带户主姓名及宽带的房屋地址 5分钟后重启猫.路由器 成功得到 ...

  2. Linux Ubuntu如何远程协助Windows

    一.安装rdesktop 打开Linux Ubuntu 按Ctrl - Alt - T打开终端 使用万能的安装指令$ sudo apt-get install rdesktop安装rdesktop 使 ...

  3. 国内有什么好用的、能落地的AR远程协助解决方案?

    一.企业需求痛点 随着工业技术的发展,越来越多的企业开始启用较之前更为复杂.技术含量更高.运维难度更大的机械设备. 设备发生故障后,企业自身的维保人员可能没有足够的知识储备来尽快排除故障,一般需要联系 ...

  4. QQ远程协助没动静?QQ版本有讲究

    一位网友觉得电脑反应速度慢了,想通过QQ远程协助让我处理一下.不料接受请求后,等了许久都显示网友电脑的桌面,而网友那边QQ也没有任何提示. 反复尝试了几次都是如此. 询问网友得知他用的QQ为2011版 ...

  5. 远程协助软件开发_这是我从事远程软件开发人员工作的主要技巧

    远程协助软件开发 by Colin Morgan 通过科林·摩根(Colin Morgan) 这是我从事远程软件开发人员工作的主要技巧 (Here are the top tips I've used ...

  6. windows 域环境应用---VNC远程协助工具的使用

    域环境中,少不了远程协助工具,这可以替管理员省掉许多跑腿的事.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:of ...

  7. 象过河怎么用远程服务器,象过河远程协助的教程

    完美者(wmzhe.com)网站以软件下载为基础,改版后的网站对功能性板块进行扩充,以期能够解决用户在软件使用过程中遇见的所有问题.网站新增了"软件百科"."锦囊妙技&q ...

  8. 企业网远程协助的小能手

    Dec 29.2010 在Windows系统里,有许多系统自带的工具软件,以其精简的外表.全面的功能,盛行于管理领域,但却被大多数所忽略,例如:磁盘碎片整理&磁盘整理,许多人乐于使用Windo ...

  9. QQ“远程协助”文字输入技巧

    当QQ聊友遇到问题无法解决时,QQ"远程协助"功能为你提供了一个协助对方解决问题的途径.但是,在通过远程协助控制了对方的电脑时,是不是会遇上无法在对方电脑输入字符和文字的情况呢?其 ...

最新文章

  1. vue-cli 使用小技巧
  2. python __file__ 与相对路径
  3. python线上编辑问题_大型线上项目中动态语言诸多问题之二 -- 以 Python 语言为例...
  4. 【数字信号处理】傅里叶变换性质 ( 傅里叶变换频移性质示例 )
  5. xshell复制粘贴
  6. c3p0 服务启动获取连接超时_JDBC数据库连接池
  7. Spring Boot场景启动器(Starter)
  8. Phoenix Framework 1.4.7,自动化测试平台
  9. 全局中断_【安全圈】微软更新造成Office 365等多个在线服务中断!
  10. TOONTRACK Electronic Edge EZX(Toontrack打击乐扩展包)
  11. Cesium 1.51新功能评测
  12. 数学建模与数学实验3.4习题1
  13. html5对浏览器支持的情况及开发工具
  14. 银行账户模拟java_使用Java模拟银行账户存、取款、转账功能
  15. 小波神经网络的基本原理,小波神经网络算法原理
  16. 内存泄露的检测工具——Valgrind
  17. iOS开发 设置状态栏字体颜色
  18. mac brew安装php7.4
  19. 计算机组成原理-作业1
  20. fedora15 安装nvidia 显卡驱动

热门文章

  1. SQL Server Update:使用 TOP 限制更新的数据
  2. 如何更改gnome-screenshot的默认的保存路径?
  3. 机器视觉核心算法——图像预处理
  4. Q102:光线追踪场景(3)——Two Horses
  5. 大数据技术有什么优势
  6. 新答尔科撒顿工业机器人_工业机器人谐波轴承使用寿命是多长?国产迎来新突破,大大延长...
  7. 文件管理系统源码_【程序源代码】人力资源管理系统
  8. tensorflow入门笔记(一)
  9. workbench求解闭合状态尼龙槽环
  10. php curl 请求失败,PHP CURL库之GET、POST数据大小限制导致请求失败解决方案