Oracle 数据库无响应故障的处理
无响应故障现象分析
Oracle 数据库无响应故障,简单地讲就是数据库实例不能响应客户端
发起的请求,客户端提交一个 SQL 后,就一直处于等待数据库实例返
回结果的状态。更严重的现象是客户端根本不能连接到数据库,发起
一个连接请求后,一直处于等待状态。
无响应的故障现象一般有以下几种:
1.Oracle 的进程在等待某个资源或事件
这种现象一般可以从
V$SESSION_WAT、V$LATCH、V$LATCHHOLDER 等动态视图中
检查进程正在等待的资源或事件,而被等待的资源或事件,一直都不
能被获取,甚至是很长时间都不可获得。如果这个正在等待的进程持
有了其他的资源,则会引起其他的进程等待,这样就很可能引起实例
中大范围的会话发生等待。由于进程在等待资源或事件时,通常都处
于 SLEEP 状态,消耗的 CPU 资源非常少(在等待 latch 时要稍微多消
耗一些 CPU 资源),所以从 OS 来看,CPU 的消耗并不高,甚至是非
常低。
这种因为等待而引起的个别进程 Hang,相对比较容易处理。