环境:Linux AS 4.7 32位 + Oracle10g 10.2.0.1.0
今天某个平台上的Oracle数据库的sqlplus无响应,数据库挂起,敲入sqlplus / as sysdba命令后数据库无响应。网上查看资料得知是oracle的bug引起的。
应急处理方法就是服务器的重启,如果要彻底解决,则可以升级数据版本或给数据库打补丁,补丁号为patch 4612267。如下为在打该补丁安装过程;
参考文档:
Doc ID: 338461.1 SQL*Plus 10.2.0.1 Hangs, When System Uptime Is Long Period of Time
Doc ID: 4612267.8 Bug 4612267 - OCI client spins when machine uptime >= 249 days
1. $ lsnrctl stop
2. $ emctl stop dbconsole --如果在建库时无选择OracleEM,则不必进行该步骤
3. $ sqlplus / as sysdba
4. SQL> shutdown immediate
[@more@][oracle@dbserv ~]$ unzip p4612267_10201_linux32bit_198days.zip
Archive: p4612267_10201_linux32bit_198days.zip
creating: 4612267/
creating: 4612267/files/
creating: 4612267/files/lib/
creating: 4612267/files/lib/libcore10.a/
inflating: 4612267/files/lib/libcore10.a/sltrg.o
creating: 4612267/etc/
creating: 4612267/etc/config/
inflating: 4612267/etc/config/inventory
inflating: 4612267/etc/config/actions
creating: 4612267/etc/xml/
inflating: 4612267/etc/xml/GenericActions.xml
inflating: 4612267/etc/xml/ShiphomeDirectoryStructure.xml
inflating: 4612267/README.txt
[oracle@dbserv ~]$ ls
10201_database_linux32.zip 4612267 database null.htm p4612267_10201_linux32bit_198days.zip testcreat.htm
[oracle@dbserv ~]$ cd 4612267/
[oracle@dbserv 4612267]$ $ORACLE_HOME/OPatch/opatch apply
Invoking OPatch 10.2.0.1.0
Oracle 中间补丁程序安装程序版本 10.2.0.1.0
版权所有 (c) 2005, Oracle Corporation。保留所有权利。。
Oracle 主目录 : /opt/oracle/product/10.2.0
主产品清单: /opt/oracle/oraInventory
从 : /opt/oracle/product/10.2.0/oraInst.loc
OPatch 版本 : 10.2.0.1.0
OUI 版本 : 10.2.0.1.0
OUI 位置 : /opt/oracle/product/10.2.0/oui
日志文件位置 : /opt/oracle/product/10.2.0/cfgtoollogs/opatch/opatch-2012_Jun_12_19-26-46-CST_Tue.log
ApplySession 将中间补丁程序 '4612267' 应用到 OH '/opt/oracle/product/10.2.0'
调用 fuser 来检查活动的进程。
Invoking fuser on "/opt/oracle/product/10.2.0/bin/oracle"
OPatch 从产品清单中检测到非集群 Oracle 主目录, 将仅对本地系统打补丁。
请关闭本地系统上在此 ORACLE_HOME 之外运行的 Oracle 实例。
(Oracle 主目录 = '/opt/oracle/product/10.2.0')
本地系统是否已准备打补丁?
是否继续? [y|n]
y
User Responded with: Y
为 Oracle 主目录备份文件和产品清单 (不是用于自动回退)
正在备份受补丁程序 '4612267' 影响的文件以用于恢复。此操作将需要一些时间...
正在备份受补丁程序 '4612267' 影响的文件以用于回退。此操作将需要一些时间...
正在为组件 oracle.oracore.rsf, 10.2.0.1.0 打补丁...
用 "lib/libcore10.a/sltrg.o" 更新归档文件 "/opt/oracle/product/10.2.0/lib/libcore10.a"
正在为组件 oracle.rdbms, 10.2.0.1.0 打补丁...
用 "lib/libcore10.a/sltrg.o" 更新归档文件 "/opt/oracle/product/10.2.0/lib/libcore10.a"
正在对目标 client_sharedlib 运行 make 命令
正在对目标 client_sharedlib 运行 make 命令
正在对目标 ioracle 运行 make 命令
ApplySession 将中间补丁程序 '4612267' 添加到产品清单
本地系统已打补丁, 可以重新启动。
OPatch succeeded.
[oracle@dbserv 4612267]$ $ORACLE_HOME/OPatch/opatch lsinventory
Invoking OPatch 10.2.0.1.0
Oracle 中间补丁程序安装程序版本 10.2.0.1.0
版权所有 (c) 2005, Oracle Corporation。保留所有权利。。
Oracle 主目录 : /opt/oracle/product/10.2.0
主产品清单: /opt/oracle/oraInventory
从 : /opt/oracle/product/10.2.0/oraInst.loc
OPatch 版本 : 10.2.0.1.0
OUI 版本 : 10.2.0.1.0
OUI 位置 : /opt/oracle/product/10.2.0/oui
日志文件位置 : /opt/oracle/product/10.2.0/cfgtoollogs/opatch/opatch-2012_Jun_12_19-28-15-CST_Tue.log
Lsinventory Output file location : /opt/oracle/product/10.2.0/cfgtoollogs/opatch/lsinv/lsinventory-2012_Jun_12_19-28-15-CST_Tue.txt
--------------------------------------------------------------------------------
已安装的顶级产品 (1):
Oracle Database 10g 10.2.0.1.0
此 Oracle 主目录中已安装 1 个产品。
中间补丁程序 (1):
Patch 4612267 : applied on Tue Jun 12 19:27:19 CST 2012
Created on 5 Oct 2005, 13:48:00 hrs US/Pacific
Bugs fixed:
4612267
--------------------------------------------------------------------------------
OPatch succeeded.
[oracle@dbserv 4612267]$
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/18841027/viewspace-1058493/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/18841027/viewspace-1058493/