1.补丁简介
补丁34130714 - GI 版本更新 19.16.0.0.220719
GI 版本更新 19.16.0.0.220719 包括 Oracle 网格基础设施的更新 主页和 Oracle 数据库主页,可以滚动应用。
补丁信息:
2.查看当前环境
查询集群中运行的 Oracle Clusterware 软件的 activex 版本
[grid@rac01 ~]$ crsctl query crs softwareversion
Oracle Clusterware version on node [rac01] is [19.0.0.0.0]
查询本地节点上二进制文件中存储的 Oracle Clusterware 软件的版本
[grid@rac01 ~]$ crsctl query crs releaseversion
Oracle High Availability Services release version on the local node is [19.0.0.0.0]
查询本地服务器上 OHAS 和 Oracle Clusterware 的状态
[grid@rac01 ~]$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
查看oracle补丁信息以及版本
[oracle@rac2 ~]$ /u01/app/oracle/product/19.3.0/db_1/OPatch/opatch lspatches
34160635;OCW RELEASE UPDATE 19.16.0.0.0 (34160635)
34133642;Database Release Update : 19.16.0.0.220719 (34133642)
查看grid补丁信息以及版本
[root@rac2 OPatch]# su - grid
[grid@rac2 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
34318175;TOMCAT RELEASE UPDATE 19.0.0.0.0 (34318175)
34160635;OCW RELEASE UPDATE 19.16.0.0.0 (34160635)
34139601;ACFS RELEASE UPDATE 19.16.0.0.0 (34139601)
34133642;Database Release Update : 19.16.0.0.220719 (34133642)
33575402;DBWLM RELEASE UPDATE 19.0.0.0.0 (33575402)
3.升级OPatch,两边都需要升级
升级oracle用户OPatch
[oracle@rac01 32545013]$ cd $ORACLE_HOME/OPatch/
[oracle@rac01 OPatch]$ ./opatch version
OPatch Version: 12.2.0.1.17
OPatch succeeded.
[oracle@rac01 32545013]$ cd $ORACLE_HOME
[oracle@rac01 dbhome_1]$ mv OPatch/ OPatchbak
[oracle@rac01 dbhome_1]$ unzip /tmp/p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME
[oracle@rac01 OPatch]$ cd /u01/app/oracle/product/19.3.0/db_1/OPatch
[oracle@rac01 OPatch]$ ./opatch version
OPatch Version: 12.2.0.1.27
OPatch succeeded.
升级grid用户OPatch
[root@rac01 grid]# cd /u01/app/19.3.0/grid
[root@rac01 grid]# mv OPatch OPatchbak
[root@rac01 grid]# unzip /tmp/p6880880_190000_Linux-x86-64.zip
[root@rac01 grid]# chown -R grid.oinstall OPatch
[root@rac01 grid]# cd OPatch
[root@rac01 OPatch]# ./opatch version
OPatch Version: 12.2.0.1.27
OPatch succeeded.
4.验证Oracle Inventory的有效性
[grid@rac01 ~]$ $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
[oracle@rac01 ~]$ $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
5.查看19.16 RU包
p34130714_190000_Linux-x86-64.zip为grid的升级包
[root@rac01 tmp]# unzip p34130714_190000_Linux-x86-64.zip
[root@rac01 tmp]# chown -R 777 34130714
6.检查Patch 是否冲突
grid用户检查
[grid@rac01 ~]$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/34130714/
Oracle 用户检查
[oracle@rac01 tmp]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/34130714
第二种检查Patch 是否冲突
% $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/34130714/34133642
% $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/34130714/34160635
% $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/34130714/34139601
% $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/34130714/34318175
% $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/34130714/33575402
7.查看空间是否满足
Grid用户查看
[grid@rac1 ~]$ vi /tmp/patch_list_gihome.txt
[root@rac1 ~]# cat /tmp/patch_list_gihome.txt
/tmp/oatch_rac/34130714/34133642
/tmp/oatch_rac/34130714/34160635
/tmp/oatch_rac/34130714/34139601
/tmp/oatch_rac/34130714/34318175
/tmp/oatch_rac/34130714/33575402
[grid@rac1 ~]$ $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt
Oracle用户查看
[oracle@rac1 oatch_rac]$ cat /tmp/patch_list_dbhome.txt
/tmp/oatch_rac/34130714/34133642
/tmp/oatch_rac/34130714/34160635
[oracle@rac1 ~]$ $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt
8.安装前分析
[root@rac01 ~]# /u01/app/19.3.0/grid/OPatch/opatchauto apply /tmp/32895426/ -analyze
9.执行opatchauto 工具应用RU
对GI HOME 进行patch:
(1) 升级过程会自动关闭和启动集群。
(2) 先升级节点1 grid,再升级节点2 grid。
[root@rac01 grid]# cd /u01/app/19.3.0/grid/OPatch
[root@rac01 OPatch]# ./opatchauto apply /tmp/34130714/ -oh /u01/app/19.3.0/grid
10.开始升级 DB RU (RELEASE UPDATE) 补丁
说明:由于 GI RU 包含 DB RU,所以 RAC 环境升级 DB 时,还将使用此 Patch 即可。
说明: (两个节点都要执行)
(1) 升级过程会自动关闭和启动集群。
(2) 先升级节点1 database,再升级节点2 database。
[root@rac01 OPatch]# cd /u01/app/oracle/product/19.3.0/db_1/OPatch
[root@rac2 OPatch]# ./opatchauto apply /tmp/34130714/ -oh /u01/app/oracle/product/19.3.0/db_1/
11.更新数字字典
oracle $ /u01/app/oracle/product/19.3.0/db_1/OPatch/datapatch -verbose
注意 :上面说了依次打减少了停机时间,但是停机时间还是需要的,就是在这里的运行datapatch的时间。这个步骤是升级数据字典,针对整个database的数据字典,因此只需在一个节点上跑就可以了。主要注意的是,如果是cdb模式,需要 alter pluggable database all open,打开所有的pdb之后,再运行datapatch。
[oracle@rac2 ~]$ sqlplus / as sysdba
SQL> alter pluggable database all open;
SQL> exit
[oracle@rac2 ~]$ cd $ORACLE_HOME/OPatch
[oracle@rac2 OPatch]$ ./datapatch -verbose
12.处理无效对象
[oracle@rac01 OPatch]$ cd $ORACLE_HOME/rdbms/admin
[oracle@rac01 admin]$ sqlplus / as sysdba
SQL> @utlrp.sql
.
.