设为首页 加入收藏

TOP

利用oracle opatch打补丁(一)
2014-11-24 08:16:42 来源: 作者: 【 】 浏览:10
Tags:利用 oracle opatch 补丁

本文主要介绍了如何利用ORACLE的OPATCH工具安装补丁,同时通过本文的描述,我们也应该了解确认BUG一般步骤:分析、排查相关错误信息、对比环境、最终确认。
关键字: ORACLE、OPATCH、补丁
1. 引言
近几年,随着我们ORACLE数据库的应用越来越深入,用户的环境越来越复杂,一些ORACLE常见的BUG也会偶尔的被触发。因此,我们对技术人员要求不能再象以前一样只要求会安装数据库,还应该要求其掌握如何安装补丁才行,下面我们就结合一个案例,介绍下如何利用ORACLE OPATCH工具进行补丁的安装。
2. 案例描述
前不久,某数据库监听在系统高峰期出现偶尔莫名宕掉的现象,导致客户端无法连接,但是重新启动监听又不报任何错误,及时重建监听,现象依旧。听到问题描述,我们首先检查监听停止时段的日志,发现有如下错误提示:

如何利用oracle opatch打补丁 - wendell - 静




查询metalink后,发现有个类似案例《TNS Listener Crash with Core dump [ID 549932.1]》,适用于ORACLE10.2.0.3.0到11.1.0.6.0,平台是UNINX。该数据库版本是10.2.0.4,但是平台是LINUX的,还是有点区别,需要进一步分析,但是看下面的现象,在系统日志(/var/log/messages)中,会出现如下提示:

文档中还提到,在出现该错误的时间段,系统的虚拟内存会出现异常,于是我们通过配置跟踪文件,等待再次出现问题后,观察下系统的虚拟内存观察的情况如下:

如何利用oracle opatch打补丁 - wendell - 静

这些现象都同文档的的错误现象一致,因此,虽然个别条件有所差别,但是可以基本判断为同一问题。接下来,我们就来看看解决问题的方法,该问题ORACLE官方提供的解决方法有2种:一种是加物理内存,一种是再当前平台打补丁6139856。由于加物理内存涉及硬件投入,我们这里考虑采用打补丁的方式尝试解决该问题。
3. 准备工作
决定了采用打补丁的解决思路,接下来就是做准备工作,首先,当然是下载补丁文件(P6139856),然后把文件上传到服务器的相关目录,并进行解压,当然在打补丁前,对数据库的备份是必不可少的,这些步骤我们就不再一一阐述,重点还是介绍下打补丁的过程。
4. 操作过程
4.1. 阅读说明
在正式操作前,我们还是应该认真阅读补丁的说明,看看有什么特别需要注意事情,这些在补丁说明中都会有提示,如果你们没有作特别的提示,我们就可以在正式环境中应用了,小补丁的安装其实比较简单,主要利用ORACLE的OPATCH工具进行操作,OPATCH工具是ORACLE自带的一个补丁安装程序,默认ORACLE安装后就自带该工具,因此无需我们再单独安装。
4.2. 检查环境
每个补丁的应用都有一定的环境,包括数据库版本、OPATCH版本等,首先应该对这些环境进行检查,通过命令opatch lsinventory检查,操作如下:
Last login: Fri Jul 30 10:08:59 2010
[oracle@wzy01 ~]$ cd 6139856/ #进入补丁文件目录
[oracle@wzy01 6139856]$ ls
etc files README.txt
[oracle@wzy01 6139856]$ opatch lsinventory #用opatch lsinventory检查环境
Invoking OPatch 10.2.0.4.2
Oracle Interim Patch Installer version 10.2.0.4.2
Copyright (c) 2007, Oracle Corporation. All rights reserved.
Oracle Home : /u01/oracle/product/db10gr2
Central Inventory : /u01/oracle/oraInventory
from : /etc/oraInst.loc
OPatch version : 10.2.0.4.2 #opatch版本
OUI version : 10.2.0.4.0
OUI location : /u01/oracle/product/db10gr2/oui
Log file location : /u01/oracle/product/db10gr2/cfgtoollogs/opatch/opatch2010-07-30_11-16-12AM.log
Lsinventory Output file location : /u01/oracle/product/db10gr2/cfgtoollogs/opatch/lsinv/lsinventory2010-07-30_11-16-12AM.txt
--------------------------------------------------------------------------------
Installed Top-level Products (2):
Oracle Database 10g 10.2.0.1.0
Oracle Database 10g Release 2 Patch Set 3 10.2.0.4.0 #oracle大版本
There are 2 products installed in this Oracle Home.
There are no Interim patches installed in this Oracle Home.
--------------------------------------------------------------------------------
OPatch succeeded.
4.3. 停数据库
在打补丁的时候,会有文件的覆盖替换,因此,大部分时候,在打补丁的时候是要求数据库处于关闭状态,因此,我们需要把数据库实例关闭。
SQL> conn / as sysdba
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
4.4. 应用补丁
补丁的安装也非简单,如果前面的环境都没有问题,直接运行下opatch apply就行了,OPATCH工具会自动应用补丁,完成补丁的安装,如下:
[oracle@wzy01 6139856]$ opatch apply #在补丁文件目录中用opatch apply应用补丁
Invoking OPatch 10.2.0.4.2
Oracle Interim Patch Installer version 10.2.0.4.2
Copyright (c) 2007, Oracle Corporatio

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle的操作系统身份认证 下一篇Oracle10g的新特性flashback drop

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis on AWS:Elast (2025-12-27 04:19:30)
·在 Spring Boot 项目 (2025-12-27 04:19:27)
·使用华为开发者空间 (2025-12-27 04:19:24)
·Getting Started wit (2025-12-27 03:49:24)
·Ubuntu 上最好用的中 (2025-12-27 03:49:20)