问题描述:
DB 11.2.0.4.0
RAC 11.2.0.4.190115
现在需要把DB的PSU也打成190115,由于操作失误把GI的补丁卸载了,卸载出了问题,集群无法正常启动。
报错信息,这种情况直接恢复之前备份过的Grid是直接可以修复的,不幸的是,做之前并没有备份,接到问题后紧急救火。
此时使用opatch auot的方式安装会报错,因为opatch auto会先停集群,但发现集群有问题,所以会报错,决定采用手动安装PSU的方式解决问题
修复过程:
执行以下操作,否则后续会报错
1. cp -p $GRID_HOME/perl/lib/5.10.0/Env.pm /usr/lib64/perl5/vendor_perl/
或者yum install perl-Env
2. $GRID_HOME/crs/install/rootcrs.pl-unlock,需要执行步骤一否则报错:
Can’t locate Env.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5
3.打Grid补丁
本步骤执行过程中可能会有权限之类的报错,部分文件属主是root,需要把权限GRID_HOME中的文件属主统一改成grid
# su - grid
$ cd /stage/<ACFS-PSU>
$ opatch apply -local
$ cd /stage/<OCW-PSU>
$ opatch apply -local
$ cd /stage/<DB-PSU>
$ opatch apply -local
4. 打Oracle补丁
# su - oracle
$ /stage/<OCW-PSU>/custom/server/<OCW-PSU>/custom/scripts/
$ ./prepatch.sh -dbhome $ORACLE_HOME
$ cd /stage/<OCW-PSU>/custom/server/<OCW-PSU>/
$ opatch apply -local
$ cd /stage/<OCW-PSU>/custom/server/<OCW-PSU>/custom/scripts/
$ ./postpatch.sh -dbhome $ORACLE_HOME
$ cd /stage/<DB-PSU>
$ opatch apply -local
5. 集群资源复位
# $GRID_HOME/rdbms/install/rootadd_rdbms.sh
#$GRID_HOME/crs/install/rootcrs.pl-patch
集群会自动拉起,启动DB恢复正常。