Oracle 19cRAC集群补丁升级
Oracle 19cRAC集群安装教程参考:https://blog.csdn.net/yushaoyyds/article/details/135791234?spm=1001.2014.3001.5502
文章目录
-
- [Oracle 19cRAC集群补丁升级](#Oracle 19cRAC集群补丁升级)
-
- 一、补丁包获取
- 二、检查Opatch并更新
- [三、验证Oracle Inventory的有效性](#三、验证Oracle Inventory的有效性)
- [四、运行 OPatch 冲突检查](#四、运行 OPatch 冲突检查)
- [五、运行opatch命令检查GI HOME下是否有足够的空间](#五、运行opatch命令检查GI HOME下是否有足够的空间)
- 六、补丁冲突检测与解决(修补程序)
- 七、应用补丁
- 八、将修改后的SQL文件驾照到数据库中
- 九、回退补丁
一、补丁包获取
链接:https://pan.baidu.com/s/1khH1gbq9hAXJ_ek6cLS8rg
提取码:w2dv
下载后将文件上传到虚拟机的/soft目录下
p6880880_190000_Linux-x86-64.zip (更新opatch)
p35940989_190000_Linux-x86-64.zip(GI包,grid软件升级包)
p35943157_190000_Linux-x86-64.zip(DB包,数据库升级包)
查看两个节点之前的版本
powershell
column product format A30
column version format A15
column version_full format A20
column status format A15
select * from product_component_version;
二、检查Opatch并更新
(两个节点都要执行)
Grid用户更新OPatch
查看一下OPatch的版本信息
powershell
opatch version


将6880880补丁下载,并解压 $ unzip -o "6880880.zip"
再解压所有的补丁包
powershell
#注意以下所有操作都是root用户执行的,但是进行查询版本的时候需要进入配置过环境变量的用户
su - root
cd /soft
chown -R grid:oinstall /soft
su - grid -c "unzip -q -o /soft/p6880880_190000_Linux-x86-64.zip -d /u01/app/19.3.0/grid"
su - grid -c "unzip -q /soft/p35940989_190000_Linux-x86-64.zip -d /soft"
chown -R oracle:oinstall /soft
su - oracle -c "unzip -q -o /soft/p35943157_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0/db"
再次查看opatch版本可以看到已经更新为19.2.0.1.41
powershell
su - grid
opatch version
Oracle用户更新OPatch
查看一下OPatch的版本信息
powershell
opatch version
powershell
su - oracle -c "unzip -q -o /soft/p6880880_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0/db"
su - oracle
opatch version
三、验证Oracle Inventory的有效性
(两个节点都要操作)
GI HOME 和DB HOME 都需要验证,分别使用grid和oracle用户执行如下命令,确保返回SUCCESS。
oracle用户:
powershell
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
grid用户:
powershell
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

四、运行 OPatch 冲突检查
(两个节点都要操作,这里以节点一为例)
进行补丁验证(grid用户下)
powershell
cd /u01/app/19.3.0/grid/OPatch/
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/33575402
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35943157
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35956421
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35967489
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/36115038


进行补丁验证(Oracle用户下)
powershell
su - oracle
cd /u01/app/19.3.0/grid/OPatch
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35943157
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35967489
五、运行opatch命令检查GI HOME下是否有足够的空间
(两个节点都要操作)

grid用户:
powershell
vim /soft/patch_list_gihome.txt
/soft/35940989/35943157
/soft/35940989/35967489
/soft/35940989/35956421
/soft/35940989/36115038
/soft/35940989/33575402

oracle用户:
powershell
vim /soft/patch_list_dbhome.txt
/soft/35940989/35943157
/soft/35940989/35967489
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /soft/patch_list_dbhome.txt

六、补丁冲突检测与解决(修补程序)
(两个节点都要操作,注意:一定要在两个节点执行完后之前的操作后再进行此操作,否则会报错)
应用修补程序补丁:
powershell
su - root
cd /
/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989 -analyze
补充:回滚修补程序(此操作不需要执行)
powershellrollback /soft/35940989 -analyze ```
七、应用补丁
(节点1打完,再打节点2)
powershell
su - root
chmod 777 /u01/app/oraInventory/ContentsXML/oui-patch.xml
cd /soft/35940989/35967489/files/bin/
chmod 777 *
节点二没有/u01/app/oraInventory/ContentsXML/oui-patch.xml文件,可以从节点一copy过去
powershell
scp -r /u01/app/oraInventory/ContentsXML/oui-patch.xml root@p19c02:/u01/app/oraInventory/ContentsXML
关闭节点1的监听,数据库
powershell
su - grid
lsnrctl stop
srvctl stop instance -d p19c0 -i p19c01
给节点1打补丁
powershell
cd /soft/35940989/35967489/files/bin/
chmod 777 *
/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989 -oh /u01/app/19.3.0/grid
打开节点1的监听、数据库
powershell
su - grid
lsnrctl start
srvctl start instance -d p19c0 -i p19c01
给节点二打补丁
#节点2,在打节点2之前,注意先把节点一的服务启动
su - root
cd /
#打补丁
/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989
#查看版本的命令
opatch lspatches
八、将修改后的SQL文件驾照到数据库中
打开数据库
powershell
sqlplus / as sysdba
startup
exit
cd $ORACLE_HOME/OPatch
./datapatch -sanity_checks
./datapatch -verbose


九、回退补丁
powershell
su - root
cd /
/u01/app/19.3.0/grid/OPatch/opatchauto rollback /soft/35940989


可以看到已经回退到19.3.0.0版本