Oracle 19c RAC RU 19.3升级至19.28

一、环境介绍

环境 信息
OS Oracle Linux Server 7.9
IP地址 192.168.184.101/102
DB Version oracle 19.3.0
GI Version grid 19.3.0
ORACLE_SID racdb
OPatch p6880880_190000_Linux-x86-64(OPatch 12.2.0.1.47)
GI Patch p37957391_190000_Linux-x86-64(GI-19.28)
DB Patch p37960098_190000_Linux-x86-64(DB-19.28)
OJVM Patch p37847857_190000_Linux-x86-64(OJVM-19.28)

二、现有环境

[grid@oracle19c-rac01:/home/grid]$  crsctl query crs softwareversion
Oracle Clusterware version on node [oracle19c-rac01] is [19.0.0.0.0]
[grid@oracle19c-rac01:/home/grid]$ crsctl query crs releaseversion
Oracle High Availability Services release version on the local node is [19.0.0.0.0]
[grid@oracle19c-rac01:/home/grid]$ 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
[grid@oracle19c-rac01:/home/grid]$ 

[grid@oracle19c-rac01:/home/grid]$ cd $ORACLE_HOME/OPatch/
[grid@oracle19c-rac01:/u01/app/19.3.0/grid/OPatch]$ ./opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517247;ACFS RELEASE UPDATE 19.3.0.0.0 (29517247)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)
29401763;TOMCAT RELEASE UPDATE 19.0.0.0.0 (29401763)

OPatch succeeded.


select * from product_component_version;
 
PRODUCT                        VERSION    VERSION_FU STATUS
------------------------------ ---------- ---------- ------------------
Oracle Database 19c Enterprise 19.0.0.0.0 19.3.0.0.0 Production Edition

三、升级OPatch(oracle\grid)

###DB:
[root@oracle19c-rac01 dbhome_1]# pwd
/u01/app/oracle/product/19.3.0/dbhome_1
[root@oracle19c-rac01 dbhome_1]# mv OPatch OPatch.bak20250812
[root@oracle19c-rac01 dbhome_1]# unzip /tmp/p6880880_190000_Linux-x86-64\(OPatch\ 12.2.0.1.47\).zip -d /u01/app/oracle/product/19.3.0/dbhome_1/
[root@oracle19c-rac01 dbhome_1]# chmod -R 755 OPatch
[root@oracle19c-rac01 dbhome_1]# 
[root@oracle19c-rac01 dbhome_1]# chown -R oracle:oinstall OPatch
[root@oracle19c-rac01 dbhome_1]# cd OPatch
[root@oracle19c-rac01 OPatch]# ./opatch version
OPatch Version: 12.2.0.1.47

OPatch succeeded.



###grid:
[root@rac01 grid]# cd /u01/app/19.3.0/grid
[root@rac01 grid]# mv OPatch OPatch.bak20250813
[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.47

OPatch succeeded.

###同样方法升级第二个节点

四、验证OPatch Inventory的有效性

##grid
[grid@oracle19c-rac01:/home/grid]$ $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

##oracle
[oracle@oracle19c-rac01:/home/oracle]$ $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

##grid和oracle必须都返回SUCCESS
###同样方法验证第二个节点

五、检查补丁冲突

###grid
解压补丁至根/tmp目录 unzip p37957391_190000_Linux-x86-64\(GI-19.28\).zip
chown -R grid:oinstall 37957391 

su - grid
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/37957391/36758186
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/37957391/37960098
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/37957391/37962938
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/37957391/37962946
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/37957391/38124772


###oracle DB和OJVM
解压补丁至根/tmp目录 unzip p37960098_190000_Linux-x86-64\(DB-19.28\).zip
unzip p37847857_190000_Linux-x86-64\(OJVM-19.28\).zip
chown -R oracle:oinstall 37960098 
chown -R oracle:oinstall 37847857

su - oracle
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/37960098
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/37847857


###同样方式检查第二个节点

六、运行 OPatch System Space 检查

  • Check if enough free space is available on the ORACLE_HOME filesystem for the patches to be applied as given below:

    • For Grid Infrastructure home, as home user:

      1. Create file /tmp/patch_list_gihome.txt with the following content:

        Step Command
        1. % cat /tmp/patch_list_gihome.txt
        2. <UNZIPPED_PATCH_LOCATION>/37957391/37960098
        <UNZIPPED_PATCH_LOCATION>/37957391/37962946
        <UNZIPPED_PATCH_LOCATION>/37957391/37962938
        <UNZIPPED_PATCH_LOCATION>/37957391/38124772
        <UNZIPPED_PATCH_LOCATION>/37957391/36758186

        Note:

        For HP-UX Itanium and Linux on IBM System z platforms, the last two rows in the previous example should not be added to the patch_list_gihome.txt file.

      2. Run the OPatch command to check if enough free space is available in the Grid Infrastructure home:

        Step Command
        1. % $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt
    • For Oracle home, as home user:

      1. Create file /tmp/patch_list_dbhome.txt with the following content:

        Step Command
        1. % cat /tmp/patch_list_dbhome.txt
        2. <UNZIPPED_PATCH_LOCATION>/37957391/37960098
        <UNZIPPED_PATCH_LOCATION>/37957391/37962946
      2. Run OPatch command to check if enough free space is available in the Oracle home:

        Step Command
        1. % $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt

    The command output reports pass and fail messages as per the system space availability:

    • If OPatch reports Prereq "checkSystemSpace" failed., then cleanup the system space as the required amount of space is not available.
    • If OPatch reports Prereq "checkSystemSpace" passed., then no action is needed. Proceed with patch installation.

    运行结果如下:

  ###grid
  [grid@oracle19c-rac01:/home/grid]$ cat /tmp/patch_list_gihome.txt
  /tmp/37957391/37960098
  /tmp/37957391/37962946
  /tmp/37957391/37962938
  /tmp/37957391/38124772
  /tmp/37957391/36758186
  [grid@oracle19c-rac01:/home/grid]$ $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt
  Oracle Interim Patch Installer version 12.2.0.1.47
  Copyright (c) 2025, Oracle Corporation.  All rights reserved.
  
  PREREQ session
  
  Oracle Home       : /u01/app/19.3.0/grid
  Central Inventory : /u01/app/oraInventory
     from           : /u01/app/19.3.0/grid/oraInst.loc
  OPatch version    : 12.2.0.1.47
  OUI version       : 12.2.0.7.0
  Log file location : /u01/app/19.3.0/grid/cfgtoollogs/opatch/opatch2025-08-13_14-40-48PM_1.log
  
  Invoking prereq "checksystemspace"
  
  Prereq "checkSystemSpace" passed.
  
  OPatch succeeded.
  
  
  ###DB
  [oracle@oracle19c-rac01:/home/oracle]$ cat /tmp/patch_list_dbhome.txt
  /tmp/37957391/37960098 
  /tmp/37957391/37962946
  [oracle@oracle19c-rac01:/home/oracle]$ $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt
  Oracle Interim Patch Installer version 12.2.0.1.47
  Copyright (c) 2025, Oracle Corporation.  All rights reserved.
  
  PREREQ session
  
  Oracle Home       : /u01/app/oracle/product/19.3.0/dbhome_1
  Central Inventory : /u01/app/oraInventory
     from           : /u01/app/oracle/product/19.3.0/dbhome_1/oraInst.loc
  OPatch version    : 12.2.0.1.47
  OUI version       : 12.2.0.7.0
  Log file location : /u01/app/oracle/product/19.3.0/dbhome_1/cfgtoollogs/opatch/opatch2025-08-13_14-46-01PM_1.log
  
  Invoking prereq "checksystemspace"
  
  Prereq "checkSystemSpace" passed.
  
  OPatch succeeded.
  
  
###同样方式检查节点二

六、补丁冲突检测与解决

###root
###不要在/或/root目录下执行
[root@oracle19c-rac01:/tmp]# /u01/app/19.3.0/grid/OPatch/opatchauto apply  /tmp/37957391 -analyze

[root@oracle19c-rac01:/tmp]# /u01/app/19.3.0/grid/OPatch/opatchauto apply  /tmp/37847857 -analyze

###同样方式check节点二

七、GI补丁安装

补丁安装顺序:GI —> DB —> OJVM。

使用全绝对路径,不要使用Path。

###root
/u01/app/19.3.0/grid/OPatch/opatchauto apply /tmp/37957391 -oh /u01/app/19.3.0/grid
[root@oracle19c-rac01 tmp]# /u01/app/19.3.0/grid/OPatch/opatchauto apply /tmp/37957391 -oh /u01/app/19.3.0/grid


[root@oracle19c-rac01 ~]# su - grid
Last login: Wed Aug 13 17:09:51 CST 2025
[grid@oracle19c-rac01:/home/grid]$  /u01/app/19.3.0/grid/OPatch/opatch lspatches
38124772;TOMCAT RELEASE UPDATE 19.0.0.0.0 (38124772)
37962946;OCW RELEASE UPDATE 19.28.0.0.0 (37962946)
37962938;ACFS RELEASE UPDATE 19.28.0.0.0 (37962938)
37960098;Database Release Update : 19.28.0.0.250715 (37960098)
36758186;DBWLM RELEASE UPDATE 19.0.0.0.0 (36758186)

OPatch succeeded.


###节点二采取同样方式补丁。

八、DB补丁安装

###节点一执行步骤
### 停实例grid
srvctl stop instance -node oracle19c-rac01

### 打DB补丁root
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
/u01/app/oracle/product/19.3.0/dbhome_1/OPatch/opatchauto apply /tmp/37960098 -oh /u01/app/oracle/product/19.3.0/dbhome_1

### 打OJVM oracle
$ cd /tmp/37847857
[oracle@oracle19c-rac01:/home/oracle]$ /u01/app/oracle/product/19.3.0/dbhome_1/OPatch/opatch apply

### 启动实例 grid
srvctl start instance -node oracle19c-rac01

### 查看补丁 oracle
[oracle@oracle19c-rac01:/tmp/37847857]$ /u01/app/oracle/product/19.3.0/dbhome_1/OPatch/opatch lspatches
37847857;OJVM RELEASE UPDATE: 19.28.0.0.250715 (37847857)
37960098;Database Release Update : 19.28.0.0.250715 (37960098)
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)


###节点二采用同样方式

九、加载SQL到数据库

RAC只需要在其中一个节点执行就可以。

[oracle@oracle19c-rac01:/tmp/37847857]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Aug 22 10:24:54 2025
Version 19.28.0.0.0

Copyright (c) 1982, 2025, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.28.0.0.0

SQL> alter pluggable database all open;

Pluggable database altered.

SQL>  show pdbs;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDBTEST                        READ WRITE NO


###加载补丁
[oracle@oracle19c-rac01:/home/oracle]$  $ORACLE_HOME/OPatch/datapatch -verbose



###如果有未打开的pdb,需要open pdb后手工指定pdb 来加载:
$ORACLE_HOME/OPatch/datapatch -verbose -apply 37960098 -force -pdbs <pdbname>
$ORACLE_HOME/OPatch/datapatch -verbose -apply 37847857 -force -pdbs <pdbname>

十、编译无效对象

###datapatch命令会加载SQL,这个过程可能会产生无效对象。 oracle
cd $ORACLE_HOME/rdbms/admin
@$ORACLE_HOME/rdbms/admin/utlrp.sql


[oracle@oracle19c-rac01:/home/oracle]$ cd $ORACLE_HOME/rdbms/admin
[oracle@oracle19c-rac01:/u01/app/oracle/product/19.3.0/dbhome_1/rdbms/admin]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Aug 22 14:47:05 2025
Version 19.28.0.0.0

Copyright (c) 1982, 2025, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.28.0.0.0

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
.............

ERRORS DURING RECOMPILATION
---------------------------
                          0


Function created.


PL/SQL procedure successfully completed.


Function dropped.


PL/SQL procedure successfully completed.

十一、补丁验证

###GI
[grid@oracle19c-rac01:/home/grid]$ /u01/app/19.3.0/grid/OPatch/opatch lspatches
38124772;TOMCAT RELEASE UPDATE 19.0.0.0.0 (38124772)
37962946;OCW RELEASE UPDATE 19.28.0.0.0 (37962946)
37962938;ACFS RELEASE UPDATE 19.28.0.0.0 (37962938)
37960098;Database Release Update : 19.28.0.0.250715 (37960098)
36758186;DBWLM RELEASE UPDATE 19.0.0.0.0 (36758186)

OPatch succeeded.

###DB
[oracle@oracle19c-rac01:/home/oracle]$ /u01/app/oracle/product/19.3.0/dbhome_1/OPatch/opatch lspatches
37847857;OJVM RELEASE UPDATE: 19.28.0.0.250715 (37847857)
37960098;Database Release Update : 19.28.0.0.250715 (37960098)
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)

OPatch succeeded.



SQL>  select PATCH_ID,PATCH_TYPE,ACTION,STATUS,TARGET_VERSION from dba_registry_sqlpatch;

  PATCH_ID PATCH_TYPE ACTION          STATUS                    TARGET_VERSION
---------- ---------- --------------- ------------------------- ---------------
  29517242 RU         APPLY           SUCCESS                   19.3.0.0.0
  37847857 INTERIM    APPLY           SUCCESS                   19.28.0.0.0
  37960098 RU         APPLY           SUCCESS                   19.28.0.0.0

十二、参考链接

Oracle 19c RAC RU 升级 19.3 到 19.28 操作手册 -- cnDBA.cn_中国DBA社区

oracle 19c rac升级补丁到19.28详细方案.docx - 墨天轮文档

如有错误,欢迎指正。

posted @ 2025-08-22 22:49  把你打成猪  阅读(349)  评论(0)    收藏  举报