某学校的业务系统在寒假结束后使用的时候发现sqlplus不能连接数据库,服务器上产生的现象如下:
[root@yjsgl ~]# su - oracle
[oracle@yjsgl ~]$ sqlplus "/as sysdba"
然后数据库hang住了。
客户数据库环境:as5+oracle 10.2.0.1
[root@yjsgl ~]# uptime
16:26:54 up 334 days, 48 min, 2 users, load average: 0.02, 0.23, 14.68
[oracle@yjsgl databak]$ top
top - 15:41:08 up 334 days, 2 min, 3 users, load average: 169.09, 168.61, 167.71
Tasks: 780 total, 170 running, 609 sleeping, 1 stopped, 0 zombie
Cpu(s): 34.2%us, 65.8%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 12474924k total, 12092092k used, 382832k free, 236180k buffers
Swap: 12517360k total, 0k used, 12517360k free, 10725280k cached
所有资源完全占用。
经查是遇到Oracle uptime bug了.
[@more@]# Interim Patch for Base Bugs: 4612267
#-------------------------------------------------------------------------
#
# DATE: Wed Oct 5 10:17:13 2005
# -------------------------------
# Platform Patch for : Linux x86
# Product Version # : 10.2.0.1
# Product Patched : ORACORE
#
# Bugs Fixed by this patch:
# -------------------------
# 4612267:OCI CLIENT IS IN AN INFINITE LOOP WHEN MACHINE UPTIME HITS 248 DAYS
这是Oracle的说法。
解决的方法:
由于sqlplus 等oracle命令均不能使用,因而不能正常关闭数据库了。
1、ps -ef|grep ora_|grep -v grep |awk {'print $2'}|xargs kill -9 /杀掉所有Oracle进程
2、重新启动服务器,但是在下次时间到达时可能仍然发生该问题;
更好、更彻底的方法:升级到10.2.0.4;或者打专用patch 4612267。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/570433/viewspace-1031575/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/570433/viewspace-1031575/