ITPub博客

首页 > 数据库 > Oracle > 数据库应用Hung住诊断案例一

数据库应用Hung住诊断案例一

原创 Oracle 作者:xxgoracle 时间:2007-06-10 00:04:58 0 删除 编辑
OS: SunOS 5.9
DB: Oracle RDBMS 9.2.0.7 64bit
Case: 业务应用程序运行缓慢,出现Hung住现象[@more@]

诊断思路:
一:检测OS性能,分析定位问题
二:检测数据库等待,判断问题原因
三:处理措施


1、检测OS性能信息
load averages: 2.75, 2.77, 2.96; up 18+00:54:02 11:02:53
377 processes: 372 sleeping, 1 stopped, 4 on cpu
CPU states: 75.6% idle, 22.4% user, 1.0% kernel, 1.1% iowait, 0.0% swap
Memory: 24G phys mem, 3806M free mem, 31G swap, 29G free swap

PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
6766 oracle9i 2 0 0 5169M 5130M cpu 110.7H 100% oracle
12676 oracle9i 11 10 0 5173M 5125M cpu 17.6H 99.80% oracle
1675 oracle9i 15 10 0 5172M 5136M cpu 81:41 38.77% oracle
1354 oracle9i 1 59 0 5169M 5131M sleep 1:00 8.95% oracle

2.捕获系统异常进程应用信息
$ ps -ef | grep 6766
oracle9i 6766 1 9 Jun 01 ? 6657:09 ora_s003_oracle9i

$ ps -ef | grep 12676
oracle9i 12676 1 9 May 27 ? 1071:16 ora_ckpt_oracle9i


3.系统状况分析:

系统整体上CPU空闲良好,只有个别进程耗用CPU资源严重.

系统进程耗用CPU资源高的进程是数据库的后台进程S003(数据库服务进程)和CKPT.
推断是数据库后台进程存在异常问题.


4.查询数据库等待信息
SQL*Net message from client 155
SQL*Net message to client 1
background parameter adjustment 1
control file parallel write 1
latch free 20
pmon timer 1
rdbms ipc message 4
smon timer 1


5.数据库等待事件分析:系统latch free事件突出,需查询latch信息,明确是在争用什么资源;
系统存在一个background parameter adjustment事件,此事件少见,
存在异常的可能性大.

6.查询数据库Latch信息
cache buffers chains 2.1326E+10
library cache 1741121663
virtual circuit buffers 1598674606
shared pool 1096938014
library cache pin 1067429204
session idle bit 834208863
library cache pin allocation 775017413
virtual circuit queues 706901391
redo allocation 676275127
row cache objects 381569350
virtual circuits 328478460
row cache enqueue latch 262794401
checkpoint queue latch 245965515
process queue reference 203858902
simulator hash latch 150475724
enqueue hash chains 136200233
undo global data 133658967
sequence cache 94886072
dml lock allocation 64670156
cache buffers lru chain 62147374


7.Latch信息表明系统热块竞争突出.


8.进一步检测,发现OS PID:12676 正是在background parameter adjustment事件上
等待.


9.查询Metalink DocId:271183.1
Ckpt process hung and consuming high cpu following sga parameter change

10.检测alert信息
Tue Jun 6 16:21:05 2007
CKPT: Begin resize of buffer pool 3 (DEFAULT for block size 8192)
CKPT: Current size = 1500 MB, Target size = 2048 MB
CKPT: Resize completed for buffer pool DEFAULT for blocksize 8192
Tue Jun 6 16:21:06 2007
ALTER SYSTEM SET db_cache_size='2147483648' SCOPE=MEMORY;

发现SGA确有过调整.


11.分析判断:
系统动态调整SGA,引起CKPT不能正常完成系统检测点检测,导致系统进程Hang住,影响了
系统其他会话的活动,造成多个进程在SGA中获取资源寻址出现异常,形成资源争用的现象;
引发系统阻塞,性能下降,不能正常提供服务.


12.处理措施
查询v$session_wait,提出background parameter adjustment事件上等待的会话session_id;
再查询v$session,获取serial#,然后kill session.

alter system kill session 'session_id,serial#';

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20546452/viewspace-918422/,如需转载,请注明出处,否则将追究法律责任。

上一篇: ORA-00600 [12830]
下一篇: 2007--->2008
请登录后发表评论 登录
全部评论
  • 博文量
    37
  • 访问量
    519459