Oracle 11g升级PSU详细步骤(一)

2015-07-16 12:08:39 · 作者: · 浏览: 8

?相对于过去的版本,Oracle打补丁的方式已经变得比较简单,处理PSU的方法也发生了一些变化。在11g中,对于一些小bug的修复,我们可以使用OPatch工具进行补丁修复。对于大的版本升级,Oracle的PSU实际上就是一系列全新的安装文件,从MOS上下载之后就可以直接进行安装。


1、关闭数据库


Oracle的PSU升级不更新数据字典,风险较小,但是还是需要停库进行升级操作。


SQL> shutdown immediate


Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
停止监听服务。
[oracle@bntjftest 20299015]$ lsnrctl stop
检查服务进程
[oracle@bntjftest 20299015]$? ps aux | grep ora_
oracle? ? 6922? 0.0? 0.0? 5700? 796 pts/3? ? S+? 17:48? 0:00 grep ora_
[oracle@bntjftest 20299015]$? ps aux | grep tns
oracle? ? 6924? 0.0? 0.0? 5704? 796 pts/3? ? S+? 17:48? 0:00 grep tns


2、检查opatch版本信息,需要的话进行升级



?


[oracle@bntjftest OPatch]$ ./opatch version
OPatch Version: 11.2.0.1.7
OPatch succeeded.


检查发现opatch版本较低,为默认版本,所以需要升级opatch。升级方法很简单,直接mv掉原来的opatch目录,然后解压最新版本的opatch软件到ORACLE_HOME下面即可


[oracle@bntjftest OPatch]$ unzip p6880880_112000_Linux-x86-64-opatch .zip? -d $ORACLE_HOME


再次检查版本,发现已经升级成功。
[oracle@bntjftest OPatch]$? ./opatch version
OPatch Version: 11.2.0.3.6
OPatch succeeded.



3、应用PSU补丁


?



1)插曲一、安装程序错误


[oracle@bntjftest OPatch]$ ./opatch apply ./20299015/
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation.? All rights reserved.


Oracle Home? ? ? : /app/oracle/product/11.2.0/dbhome_1
Central Inventory : /app/oraInventory
? from? ? ? ? ? : /app/oracle/product/11.2.0/dbhome_1/oraInst.loc
OPatch version? ? : 11.2.0.3.6
OUI version? ? ? : 11.2.0.4.0
Log file location : /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-05-14_10-45-03AM_1.log



Verifying environment and performing prerequisite checks...
Prerequisite check "CheckPatchApplicableOnCurrentPlatform" failed.
The details are:
Patch ( 20299015 ) is not applicable>UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.
Log file location: /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-05-14_10-45-03AM_1.log
OPatch failed with error code 73



不使用自动模式,手工运行,一样报错:


[oracle@bntjftest 20299015]$ /app/oracle/product/11.2.0/dbhome_1/OPatch/opatch napply -skip_subset -skip_duplicate
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation.? All rights reserved.


Oracle Home? ? ? : /app/oracle/product/11.2.0/dbhome_1
Central Inventory : /app/oraInventory
? from? ? ? ? ? : /app/oracle/product/11.2.0/dbhome_1/oraInst.loc
OPatch version? ? : 11.2.0.3.6
OUI version? ? ? : 11.2.0.4.0
Log file location : /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-05-14_10-45-03AM_1.log



Verifying environment and performing prerequisite checks...
Prerequisite check "CheckPatchApplicableOnCurrentPlatform" failed.
The details are:
Patch ( 20299015 ) is not applicable>UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.
Log file location: /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-05-14_10-45-03AM_1.log
OPatch failed with error code 73


?



上网baidu,“ UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed”, 很快就查到解决办法,明确了其实就是因为有用户进程占用了文件libclntsh.so.11


[oracle@bntjftest 20299015]$? /sbin/fuser /app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11 .1
/app/orac