最近由于一个项目上的Windows Rac数据库上出现TNS-12531错误,通过查找确认为Bug问题,具体错误如下链接:
http://blog.csdn.net/jyjxs/article/details/9351899
做了一些修改后,还是无法解决该问题,所以决定打补丁,之前写了一个关于Windows上oracle打补丁的实验过程:
http://blog.csdn.net/jyjxs/article/details/9354275
但这次要在RAC上打补丁,还是遇到了一些问题,具体过程如下。
| 名称 | 信息 |
| 系统 | Windows 2008 Enterprise Server |
| 数据库 | 11.2.0.3.0 RAC (x64) |
| 补丁 | patch bandle 26 |
| 补丁号 | 17363850 |
| OPatch utility | 6880880 |
由于本次采用的是 rolling upgrade,所以不需要将整个业务中断,目前我先从第二个节点上进行补丁更新。
一、前期准备的设置,配置相关系统便令并查看相关补丁信息:
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\Administrator>set PATH=%path%;D:\app\Administrator\product\11.2.0\dbhome_1\perl\bin
C:\Users\Administrator>d:
D:\>set PATH=%path%;d:\app\Administrator\product\11.2.0\dbhome_1\OPatch
D:\>opatch lsinv
Oracle 中间补丁程序安装程序版本 11.2.0.3.5
版权所有 (c) 2013, Oracle Corporation。保留所有权利。
Oracle Home : d:\app\ADMINI~1\product\112~1.0\dbhome_1
Central Inventory : C:\Program Files\Oracle\Inventory
from : n/a
OPatch version : 11.2.0.3.5
OUI version : 11.2.0.3.0
Log file location : d:\app\ADMINI~1\product\112~1.0\dbhome_1\cfgtoollogs\opatch\
opatch2013-12-05_18-07-03下午_1.log
Lsinventory Output file location : d:\app\ADMINI~1\product\112~1.0\dbhome_1\cfgt
oollogs\opatch\lsinv\lsinventory2013-12-05_18-07-03下午.txt
--------------------------------------------------------------------------------
已安装的顶级产品 (1):
Oracle Database 11g 11.2.0.3.0
此 Oracle 主目录中已安装 1 个产品。
此 Oracle 主目录中未安装任何中间补丁程序。
包含多个节点的 RAC 系统
Local node = oradb2
Remote node = oradb1
--------------------------------------------------------------------------------
OPatch succeeded.
二、关闭数据库,在Windows 服务中关闭oracle的后台进程,或者采用命令的方式关闭:
保留后台的OHASD服务:
先为Grid_home打补丁,设置家目录如下:
D:\17363850>set ORACLE_HOME=D:\app\11.2.0\grid
关闭高可用,解锁oralce相关文件
D:\17363850>%ORACLE_HOME%\perl\bin\perl -I%ORACLE_HOME%\perl\lib -I%ORACLE_HOME%\crs\install %ORACLE_HOME%\crs\install\rootcrs.pl -unlock
三、更换OPatch utility release 11.2.0.1.9 or later
下载Opatch utility 补丁(6880880),然后更换相关文件即可
利用如下命令查看
%ORACLE_HOME%/OPatch/opatch lsinventory
四、Grid_Home本地化补丁更新
D:\17363850>set ORACLE_HOME=D:\app\11.2.0\grid
D:\17363850>%ORACLE_HOME%\perl\bin\perl -I%ORACLE_HOME%\perl\lib -I%ORACLE_HOME%\crs\install %ORACLE_HOME%\crs\install\rootcrs.pl -unlock
D:\17363850>opatch apply -local
Oracle 中间补丁程序安装程序版本 11.2.0.3.5
版权所有 (c) 2013, Oracle Corporation。保留所有权利。
Oracle Home : D:\app\11.2.0\grid
Central Inventory : C:\Program Files\Oracle\Inventory
from : n/a
OPatch version : 11.2.0.3.5
OUI version : 11.2.0.3.0
Log file location : D:\app\11.2.0\grid\cfgtoollogs\opatch\17363850_Dec_05_2013_1
8_16_25\apply2013-12-05_18-16-25下午_1.log
Applying interim patch '17363850' to OH 'D:\app\11.2.0\grid'
Verifying environment and performing prerequisite checks...
Patch 17363850: Optional component(s) missing : [ oracle.precomp.common, 11.2.0.
3.0 ] , [ oracle.precomp.lang, 11.2.0.3.0 ] , [ oracle.ntoledb.odp_net_2, 11.2.0
.3.0 ] , [ oracle.rdbms.tg4ms