1.更新Opatch;
2.打补丁;
3.grid 打补丁;
1.更新Opatch(实验版本:oracle:11.2.0.3.0):
默认安装数据库后,在ORACLE_HOME 下会有个OPatch 文件夹,更新前先检查当前Opatch 版本:
1: [oracle@sywu2 OPatch]$ ./opatch lsinventory
2: Invoking OPatch 11.2.0.1.7
3:
4: Oracle 中间补丁程序安装程序版本 11.2.0.1.7
5: 版权所有 (c) 2011, Oracle Corporation。保留所有权利。
6:
7:
8: Oracle Home : /s01/app/oracle/product/11.2.0/dbhome_1
9: Central Inventory : /g01/oraInventory
10: from : /etc/oraInst.loc
11: OPatch version : 11.2.0.1.7
12: OUI version : 11.2.0.3.0
13: Log file location : /s01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2014-06-27_23-03-26下午.log
注:有些时候产品清单加载失败,会导致打补丁时出错
1: [sywu@sywu OPatch]$ ./opatch lsinventory
2: Invoking OPatch 11.1.0.6.6
3:
4: Oracle 中间补丁程序安装程序版本 11.1.0.6.6
5: 版权所有 (c) 2009, Oracle Corporation。保留所有权利。
6:
7:
8: Oracle 主目录 : /u01/app/product/11.2.0/db_1
9: 主产品清单: /g01/oraInventory
10: 从 : /etc/oraInst.loc
11: OPatch 版本 : 11.1.0.6.6
12: OUI 版本 : 11.2.0.1.0
13: OUI 位置 : /u01/app/product/11.2.0/db_1/oui
14: 日志文件位置 : /u01/app/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2014-06-27_21-51-13下午.log
15:
16: Patch history file: /u01/app/product/11.2.0/db_1/cfgtoollogs/opatch/opatch_history.txt
17:
18: List of Homes on this system:
19:
20: Home name= Ora11g_gridinfrahome1, Location= "/g01/11ggrid/11.2.0/grid"
21: Home name= OraDb11g_home1, Location= "/s01/app/oracle/product/11.2.0/dbhome_1"
22:产品清单加载失败... OPatch cannot load inventory for the given Oracle Home.
23: Possible causes are:
24: Oracle Home dir. path does not exist in Central Inventory
25: Oracle Home is a symbolic link
26: Oracle Home inventory is corrupted
27: LsInventorySession 失败: OracleHomeInventory gets null oracleHomeInfo
28:
29: OPatch failed with error code 73
解决方法:
1)找到产品清单文件,默认安装成功后会在 /etc/oraInst.loc 和oracle 根目录 oraInventory 文件夹下,如果/etc/下没有就到ORACLE 安装根目录找到文件夹:oraInventory,里面有oraInst.loc;复制一个到 /etc下;
2)到$ORACLE_HOME/oui/bin/ 执行如下脚本加载清单:
1: ./runInstaller -silent -attachHome \
2: ORACLE_HOME=$ORACLE_HOME \
3: ORACLE_HOME_NAME="ORACLE_HOME"
3) 加载成功后再次到OPatch目录下执行 ./opatch lsinventory 确认产品清单加载是否成功;
有些时候你打过补丁,然后删除过$ORACLE_HOME/.patch_storage 下的文件,下次重新再打补丁是可能会报:"OracleHomeInventory 无法创建锁文件",怎么处理都不行,也并不是操作权限问题:
1: [grid@sywu2 shared]$ opatch lsinventory
2:
3: Oracle 中间补丁程序安装程序版本 11.2.0.3.3
4: 版权所有 (c) 2012, Oracle Corporation。保留所有权利。
5: