码迷,mamicode.com
首页 > 数据库 > 详细

oracle登录无响应问题解决方法(oracle4612267补丁安装教程)

时间:2015-04-06 15:46:14      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:linux   数据库   oracle   database   补丁   

今天中午将近12点的时候突然收到短信告警提示,公司的软件长时间没有话单产生。第一反应是公司的软件挂掉了,所以立即进行了查看。重启了所有软件之后发现居然没有回复正常,一直提示:

com.gs.db.DBException: java.sql.SQLException: Io 异常: The Network Adapt

er could not establish the connection

以为是数据库停掉了,故去了plsql进行了登录,此时发现plsql输入用户名密码之后无响应。

难道是监听挂掉了?去数据库服务器本机登录试试,抱着这种想法去了数据库服务器上,使用sqlplus进行登录,发现sqlplus居然也登录不上。

技术分享

哎呀我去~~邪了啊。会不会是连接太多了,把软件跑死了,尝试停止监听已断开所有连接,结果也是长时间无响应。去看了一下内存占用率和CPU占用率终于发现了问题所在。

技术分享

内存还好没看出什么特别的地方,可是CPU就不正常了,占用率居然是100%

技术分享

由于无法登录数据库,故此无法使用常规的方式重启数据库软件,故此只好选择了重启数据库服务器。重启了之后虽然能够正常使用了,但是心中还是耿耿于怀想找到无响应和CPU占用率100%的原因,通过在网上找资料,终于发现原来这是一个oraclebugOracle版本是10.2.0.1。只要Linux x86主机运行天数是是24.8的倍数都有可能引发该bug(刚刚好系统运行的时间是198天),因为time()函数值为null,造成无限死循环,从而耗尽cpu,我的服务器刚好有这个问题。

技术分享

该Oracle BUG的解决方法如下:

解决办法三种:

1)重启主机;

2)打patch set,如升级到10.2.0.4;

3)对该bug单独打临时patch 4612267。

第一种治标不治本,临时用用可以,但是不从根本上解决问题;第二种从根本上解决问题,但是需要重新安装数据库,费时费力;第三种最省事,但是需要停业务安装补丁,并且有没有人好心免费给你补丁还是回事。本人运气好找到了oracle对应的补丁,还好下载的代价不是很高,不然要哭死。

得到补丁之后按着手册上和网上的教程总结了如下的安装步骤:

停止所有数据库服务,一般来说就这三种

1、停止监听:lsnrctl stop

2、停止dbconsoleemctl stop dbconsole(你要是安装了就停,没安装不用管它)

3、停止数据库:shutdown immediate

使用root用户登录linux系统,建立一个文件夹存放补丁文件,名称例如patch。建立完成之后将补丁上传上去。

技术分享

然后解压缩:

技术分享

解压缩之后会看到一个4612267的目录,此时不要直接进行安装。

技术分享

切换到oracle用户之后进入此目录,会看到有两个文件夹一个文件。

技术分享

其中文件夹里面就是具体的升级文件了,那个txt就是一个描述文件,可以不用管它。在这个目录下执行patch apply命令开始安装补丁:

技术分享

执行成功之后会提示如下信息:

技术分享

此时他会询问是否准备打补丁,这里我们选择y,输入之后回车就可以看到安装过程了。

技术分享

到这里补丁安装完毕,此时我们需要验证一下补丁是否安装成功。使用opatch lsinventory命令查看补丁是否安装成功:

技术分享

看到补丁号就说明我们安装成功了。

 

如果有一天因为某些原因不需要这个不定了,我们也可以卸载掉。

进入补丁所在的目录,执行以下命令:

$ORACLE_HOME/OPatch/opatch rollback -id 461226

然后一路y就行了。

 

本文中所涉及到的环境如下:

Linux

Linux hljtnitsdb 2.6.18-128.el5PAE #1 SMP Wed Dec 17 12:02:33 EST 2008 i686 athlon i386 GNU/Linux

 

Oracle

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0

 

oracle补丁下载地址:

http://download.csdn.net/detail/wxlbrxhb/8567587

 

oracle登录无响应问题解决方法(oracle4612267补丁安装教程)

标签:linux   数据库   oracle   database   补丁   

原文地址:http://blog.csdn.net/wxlbrxhb/article/details/44901811

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!