Oracle 无响应故障
-Oracle的进程在等待某个资源或事件-Oracle Process Spins,所谓Spin,就是指Oracle进程中的代码在执行某个过程时,陷入循环。在v
1.现象
数据库实例不能响应客户端的发起的请求。
2.种类
-Oracle的进程在等待某个资源或事件
-Oracle Process Spins,所谓Spin,就是指Oracle进程中的代码在执行某个过程时,陷入循环。在v$session视图中,往往可以看到Hang住的会话
一直处于"ACTIVE"状态.
3.从故障范围来看,无响应故障可以分为以下几种情况:
-单个或部分会话Hang住
-单个数据实例Hang住
-OPS或RAC中的多个实例或所有实例都Hang住
4.无响应故障成因分析
-数据库主机负载过高,严重的超过主机承受能力
--应用设计不发,数据性能低下,活动会话数大量增加
--主机内存严重不足,引起大量的换页
-日常维护不当
--归档日志的存储空间满
--对DML操作比较多的大表进行move,增加外键约束
--不正确的资源计划配置
-Oracle数据库的Bug
-其他方面的一些原因
--如RAC数据库中,如果一个节点退出或加入RAC的过程中,当进行Resource Reconfiguration时,会使系统冻结一段时间
5.无故障处理流程
-确认系统的影响范围
-同时询问系统维护和开发人员,受影响的系统在出现故障前是否有过变动
包括主机、硬件、操作系统、网络、数据库及应用
-为了避免由于网络、数据库监听或客户端因素影响分析,登录到主机上进行操作
-如果不能登录主机,,尝试关闭业务系统,重启主机,监控主机资源
-登录主机后,先用top,topas等命令查询系统CPU使用,物理内存,虚拟内在的使用,IO使用等情况
-使用SQLPLUS连接数据,使用gdb,dbx等debugger工具对数据库进行system state dump;使用strace truss等工具检查异常进程的系统调用
使用用pstack,procstack等工具察看异常进程的call stack等
6.使用sqlplus连接上数据后,进行hanganalyze,system state dump等操作;检查等待事件,异常会话等正在执行的SQL等
7.找到故障原因,尽量收集数据
8.如急须恢复,可通过kill会话,重启动数据库实例等方式,先恢复应用
9.根据最终诊断结果,对数据库升级打补丁或者修改应用等方式从根本上解决问题。
上一篇: 3.1路由支持自定义
推荐阅读
-
Oracle 无响应故障
-
Oracle RAC Database 11.1.0.6监听故障案例
-
在RedHat 5 Enterprise上安装Oracle 10g遇到的故障总结
-
Oracle 11gR2 RAC节点crash故障分析
-
Oracle RAC failover 测试(连接时故障转移)
-
Oracle数据库故障
-
机械键盘按键无响应怎么办 机械键盘按键失灵的解决方法
-
oracle提示TNS:无监听程序的解决思路 博客分类: sql oracletnsnameslistener
-
数据库集群技术 博客分类: 杂乱无章-技术 数据结构数据挖掘Oracle应用服务器企业应用
-
powerdesigner 16 从数据库生成表结构无响应 博客分类: 数据库