Oracle 10.2.0.1 数据库hang住 Bug 4612267 |
发布时间: 2012/8/24 17:16:56 |
一. Bug问题表现 CPU使用率100%,vmstat 显示有大量等待运行的进程,有大量的上下文切换。 sqlplus 和 lsnrctl 命令无效。 数据基本是hang住了。 啥都不能用。 该bug 存在与Oracle 10.2.0.1. 1.1 Top 显示 top - 04:46:06 up198 days, 22:05, 5 users, load average: 16.20, 16.63, 21.22 tasks: 112 total, 19 running, 93 sleeping, 0 stopped, 0 zombie cpu(s): 26.3%us, 73.0%sy, 0.0%ni, 0.6%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st mem: 4026344k total, 3255488kused, 770856k free, 279252k buffers swap: 4192924k total, 369088kused, 3823836k free, 2835992k cached 结合网上google的结果,该bug 对cpu 表现是。用户使用30%左右,系统使用70%。 系统启动198天,会触发这个bug。 解决这个问题一是升级数据库,二是定期重启操作系统。 1.2 vmstat 命令 [root@localhost ~]# vmstat 2 procs -----------memory---------- ---swap-------io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 36 0 369092 503308 2481042815564 1 1 31 5 0 0 1 1 97 1 0 36 0 369092 503308 2481042815600 0 0 0 10 1047 237 26 74 0 0 0 38 0 369092 503308 2481042815600 0 0 0 0 1045 232 25 75 0 0 0 ... --这里r 表示等待运行的进行,一般小于cpu的个数。 这里超过36. 超过CPU 很多倍,而且in 值过高。 in 表示context switch。 1.3 sqlplus 和 lsnrctl 命令不可用 使用这2个命令时,没有反应,挂住。包括sqlplus -prelim /nolog. 二. Bug 4612267 说明 MOS 上的2篇相关文章: Bug 4612267 - OCI client spins when machineuptime >= 249 days [ID 4612267.8] SQL*Plus 10.2.0.1 Hangs, When System UptimeIs Long Period of Time [ID 338461.1] 说明如下: Affects:
OCIclients may spin once the machine has been up for longer than 249 days (24.9days on some machines). The spin will show repeated calls to times() fromsltrgatime64(). --根据官网的说法,是OS 系统超过249天,就会触发这个bug。 有时候是24.9 * N 天。 从我google的结果看,基本都是在198和199这两天触发这个bug。 本文出自:亿恩科技【www.enkj.com】 |