本文由 dbaplus 社群授权转载。
大家好,今天咱来实践19C的GI升级。
前面提到过,Oracle 19C替代12C将成为Oracle线条接下来这两年的主要工作。笔者所在客户现场的后续数据库集成安装都将以19C为标准版本。本文就以19C打最新的GIRU(19.7.0.0.200414)步骤及遇到的问题做总结分享。
GIRU实施步骤
补丁升级均采取滚动升级方式进行。
1、19更新OPatch版本
打GIRU(19.7.0.0.200414)所需要的OPatch版本为12.2.0.1.19及以上最新版本。建议使用19C版本进行补丁升级,所以我们这次使用的OPatch是19C,具体命令如下:
更换GI HOME的opatch版本:
su - grid
cd /oracle/app/19.3.0/grid/
cp /oraclelog/pa/opatch_20200622/p6880880_190000_Linux-x86-64.zip ./
mv OPatch OPatch_20200622
unzip p6880880_190000_Linux-x86-64.zip
chown -R grid:oinstall OPatch
chmod -R 775 OPatch
/oracle/app/19.3.0/grid/OPatch/opatch version
更换DB HOME的opatch版本:
su - oracle
cd /oracle/app/oracle/product/19.3.0/db
cp /oraclelog/pa/opatch_20200622/p6880880_190000_Linux-x86-64.zip ./
mv OPatch OPatch_20200622
unzip p6880880_190000_Linux-x86-64.zip
/u01/app/oracle/product/12.2.0.1/dbhome_1/OPatch/opatch version
2、目录备份
该备份将作为补丁升级出错,rollback也报错时的最后救命稻草。备份app及oraInventory两目录即可。
ps -ef|grep LOCAL=NO|awk '{print $2}'|xargs kill -9
srvctl stop instance -d racdb -n racdb1
su - root
/oracle/app/19.3.0/grid/bin/crsctl stop crs
/oracle/app/19.3.0/grid/bin/crsctl stat res -t
tar -cvf /oraclelog/pa/opatch_20200622/gi_home_`hostname`_20200622.tar /oracle/app
tar -cvf /oraclelog/pa/opatch_20200622/oraInventory_`hostname`_20200622.tar /oracle/app/oraInventory
备份目录为啥要停库停CRS?部分看官们估计会有疑问。这个还得从很早之前一次Oracle 11G GI PSU升级说起,当时笔者碰到这样一种情况,在确认当时备份命令运行正常,备份出来的文件大小正常情况下,在不停CRS的情况下备份出来的文件竟然不可用…还好当时值得庆幸的是补丁回滚成功了。所以这次“惊魂动魄”之后这个备份都“唯经验论”了。
原文链接:【https://www.infoq.cn/article/btt55rOCb4vE74RS2PfM】。未经作者许可,禁止转载。