Oracle 19c RAC RU15 补丁更新详细步骤

2022-12-07 14:09:37 浏览数 (1)

作者 | JiekeXu

来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)

如需转载请联系授权

大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 Oracle 19c RAC RU15 补丁更新详细步骤

目 录

下载补丁和 OPatch 停止集群件备份家目录 两节点 GI、DB OPatch 替换 复制 oui-patch.xml 到远程节点 2 注意权限 补丁分析 使用 root 用户分析补丁 33806152 OCW 分析 ACFS 补丁分析 Tomcat 补丁分析 DBWLM 补丁分析 节点一分开打各个补丁 root 自动打补丁 33806152 OCW 补丁 ACFS 补丁 Tomcat 补丁 DBWLM 补丁 节点二应用补丁 Root 打补丁 33803476 检查补丁信息 手动打补丁 OJVM 补丁 检查数据库补丁信息 补丁回退 其他补丁相关的资料

Oracle 补丁下载,更新相关的文章已经介绍过多篇了,从 11g 单机,RAC 到 19c 均有涉及,今天应该是这个系列的最后一篇文章介绍了,也来说说 Linux7 下的 Oracle 19c RAC RU15 补丁更新详细步骤,其他 RU 更新步骤均一样,都可以从 19.3 更新到最新的 RU,也可以在 RU15 的基础上更新最新的 RU17。值得一说的是最新的 RU 已经到 19.17 了,前面一篇文章介绍了今年第四季度各个版本数据库的补丁更新情况

注意:本文已经生成 PDF 文档了,有需要的可使用此链接下载 https://www.modb.pro/doc/79585

这里要注意 RU(Release Update)和 RUR (Release Update Revisions) 的区别: 1.RU 是主动,高度测试,捆绑了许多重要修复,能够使客户避免许多已知问题。 2.RUR 包含对 RU 的安全性和回退修复,将 RU 的生命周期延长两个季度。每个 RUR 只针对特定的 RU。

Release Update Introduction and FAQ (文档 ID 2285040.1) Assistant: Download Reference for Oracle Database/GI Update, Revision, PSU, SPU(CPU), Bundle Patches, Patchsets and Base Releases (文档 ID 2118136.2)

但是值得注意的是:从 2022 年 10 月开始,19.17.0 及以上版本将不再提供 19c RUR。在 2023 年 1 月 Oracle Database 19c RUR 19.16.2 发布后,任何平台上都不会发布额外的RUR。详情请参阅 19c RURs 的终止及常见问题解答(注2898381.1)。

下面来一起看看 RAC 下 RU 补丁更新的两种方法,节点 1 和 节点 2 是两种不同的方法。

下载补丁和 OPatch

RU15 下载(包括 GI 和 DB 以及 OJVM 补丁包):https://www.modb.pro/download/541101

RU17 下载(包括 GI 和 DB 以及 OJVM 补丁包):https://www.modb.pro/download/1033988

代码语言:javascript复制
--19c Patch 33803476 - GI Release Update 19.15.0.0.220419

p33859214_190000_Linux-x86-64.zip
OPatch 12.2.0.1.30 for DB 12.2.0.1.0 (Apr 2022) 
p6880880_122010_Linux-x86-64.zip

上传到 /u01/backup 然后使用 grid 用户解压

代码语言:javascript复制
chmod 777 p33859214_190000_Linux-x86-64.zip
( ASM1)$ unzip p33859214_190000_Linux-x86-64.zip
( ASM1)$ scp -r 33859214  rac19c-r2:/u01/backup
( ASM1)$ scp -r OPatch rac19c-r2:/u01/backup

可参考文档: https://www.modb.pro/doc/46149 https://mp.weixin.qq.com/s/VGyb-UjbI1IFo1llEfVduQ

停止集群件备份家目录

代码语言:javascript复制
----两节点分别操作
/u01/app/19.0.0/grid/bin/crsctl stop crs
tar -zcvf /u01/app.tar.gz /u01/app
/u01/app/19.0.0/grid/bin/crsctl start crs

两节点 GI、DB OPatch 替换

代码语言:javascript复制
----# 表示 root 用户,$ 表示 Oracle 用户提示符,(ASM1)$ 表示 grid 用户
# cd /u01/app/19.0.0/grid/
# mv OPatch OPatch.bak19
(ASM1)$ unzip p6880880_122010_Linux-x86-64.zip
# cp -r OPatch /u01/app/19.0.0/grid/
# chown grid:oinstall -R /u01/app/19.0.0/grid/OPatch

$ opatch version 
OPatch Version: 12.2.0.1.30

OPatch succeeded.

DB:
$ cd $ORACLE_HOME
$ mv OPatch/ OPatch_bak19
cp -r /u01/backup/OPatch ./

复制 oui-patch.xml 到远程节点 2 注意权限

代码语言:javascript复制
( ASM2)$ cd /u01/app/oraInventory/ContentsXML/
( ASM2)$ scp -p rac19c-r1:/u01/app/oraInventory/ContentsXML/oui-patch.xml ./

oracle inventory 验证
$ <ORACLE_HOME>/OPatch/opatch lsinventory -detail -oh <ORACLE_HOME>

如果是 RAC 环境分别指定 GI_HOME 和 ORACLE_HOME

代码语言:javascript复制
( ASM1)$ opatch lsinventory -detail -oh $ORACLE_HOME
(DB1)$ opatch lsinventory -detail -oh $ORACLE_HOME

( ASM2)$ opatch lsinventory -detail -oh $ORACLE_HOME
(DB2)$ opatch lsinventory -detail -oh $ORACLE_HOME

空间检查和补丁冲突检查这里就不做了,因为是新环境,这些都没有问题。 如果有需要可参考我以前的文章或者补丁 README.html 。

补丁分析

这里一定要看补丁 README.html 的各个补丁介绍,有的只涉及到 DB,有的只涉及到 GI,有的只是 OJVM,例如 33806152 这个补丁则 GI 和 DB 都涉及,也是主要补丁;33815596 这个则是 OCW 这个补丁则 GI 和 DB 都可以使用;33815607 ACFS 补丁,33911149 Tomcat 补丁,33575402 补丁,这三个补丁仅在 GI 上适用,且不支持 HP-UX Itanium 和 Linux on IBM System z 系统,我这里是 RHEL7 没有问题。

补丁号

描述

适用于

33806152

Database Release Update19.15.0.0.220419

Both Oracle home and Grid home

33815596

OCW Release Update 19.15.0.0.220419

Both Oracle home and Grid home

33815607

ACFS Release Update 19.15.0.0.220419

Only Grid home

33911149

Tomcat Release Update 19.0.0.0.0

Only Grid home

33575402

Tomcat Release Update 19.0.0.0.0

Only Grid home

使用 root 用户分析补丁 33806152

提前分析补丁,可以避免一些错误,如下检测出来 GI 和 DB 的 OPatch 版本不一样;注意这里的路径深入到 33803476 即可,不必更深一层,不然就需要如下办法一个个子补丁去分析和单独应用,节点 2 则正常到 33803476 层。

代码语言:javascript复制
# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/backup/33859214/33803476/33806152 -analyze

打补丁分析补丁时,个人建议将连接到操作系统 Oracle 或者 grid 用户的会话都退出到 root 或者直接断开,以前遇到过由于有连接导致打补丁失败。下面是一个完整的日志输出,其他补丁日志输出则省略。

代码语言:javascript复制
# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/backup/33859214/33803476/33806152 -analyze

OPatchauto session is initiated at Wed May 11 10:57:46 2022

System initialization log file is /u01/app/19.0.0/grid/cfgtoollogs/opatchautodb/systemconfig2022-05-11_10-57-48AM.log.

Following home(s) will not be included as part of current opatchauto session as it's software only RAC home:
Home path:/u01/app/oracle/product/19.0.0/dbhome_1, Host:rac19c-r2

Session log file is /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/opatchauto2022-05-11_10-58-35AM.log
The id for this session is HD5U

Executing OPatch prereq operations to verify patch applicability on home /u01/app/oracle/product/19.0.0/dbhome_1

Executing OPatch prereq operations to verify patch applicability on home /u01/app/19.0.0/grid
Patch applicability verified successfully on home /u01/app/19.0.0/grid

Patch applicability verified successfully on home /u01/app/oracle/product/19.0.0/dbhome_1

Executing patch validation checks on home /u01/app/19.0.0/grid
Patch validation checks successfully completed on home /u01/app/19.0.0/grid

Executing patch validation checks on home /u01/app/oracle/product/19.0.0/dbhome_1
Patch validation checks successfully completed on home /u01/app/oracle/product/19.0.0/dbhome_1

Verifying SQL patch applicability on home /u01/app/oracle/product/19.0.0/dbhome_1
SQL patch applicability verified successfully on home /u01/app/oracle/product/19.0.0/dbhome_1

OPatchAuto successful.

--------------------------------Summary------------------------------

Analysis for applying patches has completed successfully:

Host:rac19c-r1
CRS Home:/u01/app/19.0.0/grid
Version:19.0.0.0.0

==Following patches were SUCCESSFULLY analyzed to be applied:

Patch: /u01/backup/33859214/33803476/33806152
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_10-58-54AM_1.log

Host:rac19c-r1
RAC Home:/u01/app/oracle/product/19.0.0/dbhome_1
Version:19.0.0.0.0

==Following patches were SUCCESSFULLY analyzed to be applied:

Patch: /u01/backup/33859214/33803476/33806152
Log: /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_10-58-55AM_1.log

OPatchauto session completed at Wed May 11 10:59:38 2022
Time taken to complete the session 1 minute, 53 seconds
OCW 分析
代码语言:javascript复制
# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/backup/33859214/33803476/33815596 -analyze
--省略日志输出 详细信息可查看此文档https://www.modb.pro/doc/79585
ACFS 补丁分析
代码语言:javascript复制
[root@rac19c-r1 33803476]# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/backup/33859214/33803476/33815607 -analyze

--省略日志输出,详细信息可查看此文档https://www.modb.pro/doc/79585
Reason: /u01/backup/33859214/33803476/33815607 is not required to be applied to oracle home /u01/app/oracle/product/19.0.0/dbhome_1

Tomcat 补丁分析

代码语言:javascript复制
# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/backup/33859214/33803476/33911149 -analyze

--省略日志输出
Reason: /u01/backup/33859214/33803476/33911149 is not required to be applied to oracle home /u01/app/oracle/product/19.0.0/dbhome_1

DBWLM 补丁分析

代码语言:javascript复制
# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/backup/33859214/33803476/33575402 -analyze

--省略日志输出
Reason: /u01/backup/33859214/33803476/33575402 is not required to be applied to oracle home /u01/app/oracle/product/19.0.0/dbhome_1
代码语言:javascript复制
节点一分开打各个补丁

root 自动打补丁 33806152

代码语言:javascript复制
# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/backup/33859214/33803476/33806152

OPatchAuto successful.

--------------------------------Summary------------------------------

Patching is completed successfully. Please find the summary as follows:

Host:rac19c-r1
RAC Home:/u01/app/oracle/product/19.0.0/dbhome_1
Version:19.0.0.0.0
Summary:

==Following patches were SUCCESSFULLY applied:

Patch: /u01/backup/33859214/33803476/33806152
Log: /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_11-36-47AM_1.log

Host:rac19c-r1
CRS Home:/u01/app/19.0.0/grid
Version:19.0.0.0.0
Summary:

==Following patches were SUCCESSFULLY applied:

Patch: /u01/backup/33859214/33803476/33806152
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_11-41-34AM_1.log

OPatchauto session completed at Wed May 11 12:04:15 2022
Time taken to complete the session 32 minutes, 25 seconds

OCW 补丁

代码语言:javascript复制
# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/backup/33859214/33803476/33815596    

ACFS 补丁

代码语言:javascript复制
[root@rac19c-r1 33803476]# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/backup/33859214/33803476/33815607 -oh /u01/app/19.0.0/grid

Tomcat 补丁

代码语言:javascript复制
# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/backup/33859214/33803476/33911149 -oh /u01/app/19.0.0/grid

DBWLM 补丁

代码语言:javascript复制
# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/backup/33859214/33803476/33575402 -oh /u01/app/19.0.0/grid

OPatchauto session is initiated at Wed May 11 15:03:56 2022

System initialization log file is /u01/app/19.0.0/grid/cfgtoollogs/opatchautodb/systemconfig2022-05-11_03-04-00PM.log.

Session log file is /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/opatchauto2022-05-11_03-04-45PM.log
The id for this session is 1GY2

Executing OPatch prereq operations to verify patch applicability on home /u01/app/19.0.0/grid
Patch applicability verified successfully on home /u01/app/19.0.0/grid

Executing patch validation checks on home /u01/app/19.0.0/grid
Patch validation checks successfully completed on home /u01/app/19.0.0/grid

Performing prepatch operations on CRS - bringing down CRS service on home /u01/app/19.0.0/grid
Prepatch operation log file location: /u01/app/grid/crsdata/rac19c-r1/crsconfig/crs_prepatch_apply_inplace_rac19c-r1_2022-05-11_03-05-08PM.log
CRS service brought down successfully on home /u01/app/19.0.0/grid

Start applying binary patch on home /u01/app/19.0.0/grid
Binary patch applied successfully on home /u01/app/19.0.0/grid

Performing postpatch operations on CRS - starting CRS service on home /u01/app/19.0.0/grid
Postpatch operation log file location: /u01/app/grid/crsdata/rac19c-r1/crsconfig/crs_postpatch_apply_inplace_rac19c-r1_2022-05-11_03-07-52PM.log
CRS service started successfully on home /u01/app/19.0.0/grid

OPatchAuto successful.

--------------------------------Summary--------------------------------

Patching is completed successfully. Please find the summary as follows:

Host:rac19c-r1
CRS Home:/u01/app/19.0.0/grid
Version:19.0.0.0.0
Summary:

==Following patches were SUCCESSFULLY applied:

Patch: /u01/backup/33859214/33803476/33575402
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_15-07-26PM_1.log

OPatchauto session completed at Wed May 11 15:10:32 2022
Time taken to complete the session 6 minutes, 36 seconds

节点二应用补丁

直接分析 33803476 整个补丁集

代码语言:javascript复制
# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/backup/33859214/33803476 -analyze

OPatchAuto successful.
--------------------------------Summary--------------------------------
Analysis for applying patches has completed successfully:

Host:rac19c-r2
CRS Home:/u01/app/19.0.0/grid
Version:19.0.0.0.0

==Following patches were SUCCESSFULLY analyzed to be applied:

Patch: /u01/backup/33859214/33803476/33815596
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_17-47-44PM_1.log

Patch: /u01/backup/33859214/33803476/33815607
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_17-47-44PM_1.log

Patch: /u01/backup/33859214/33803476/33575402
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_17-47-44PM_1.log

Patch: /u01/backup/33859214/33803476/33911149
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_17-47-44PM_1.log

Patch: /u01/backup/33859214/33803476/33806152
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_17-47-44PM_1.log

OPatchauto session completed at Wed May 11 17:48:08 2022
Time taken to complete the session 2 minutes, 20 seconds

Root 打补丁 33803476

代码语言:javascript复制
# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/backup/33859214/33803476

注意看这里提示自动打失败了,但是根绝这个错误看不出问题,那么就需要看上图中标黄的日志了。

代码语言:javascript复制
more /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_17-55-12PM_1.log
代码语言:javascript复制

检查日志发现节点 2 补丁 33815596 缺少文件 ocrcheck.bin
代码语言:javascript复制
# ll /u01/backup/33859214/33803476/33815596/files/bin/ocrcheck.bin
ls: cannot access /u01/backup/33859214/33803476/33815596/files/bin/ocrcheck.bin: No such file or directory

很是奇怪,补丁包是从节点1 解压后 scp 过来的,怎么会出现缺少文件的问题呢?那就直接 scp zip 包然后在节点 2 解压吧。

代码语言:javascript复制
RAC1$ scp p33859214_190000_Linux-x86-64.zip rac19c-r2:/u01/backup

RAC2# chown grid:oinstall p33859214_190000_Linux-x86-64.zip
su - grid
( ASM2)$ unzip p33859214_190000_Linux-x86-64.zip
( ASM2)$ chmod 777 -R 33859214
代码语言:javascript复制
然后使用 root 继续打补丁吧。
代码语言:javascript复制
# /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/backup/33859214/33803476

--------------------------------Summary--------------------------------

Patching is completed successfully. Please find the summary as follows:

Host:rac19c-r2
CRS Home:/u01/app/19.0.0/grid
Version:19.0.0.0.0
Summary:

==Following patches were SUCCESSFULLY applied:

Patch: /u01/backup/33859214/33803476/33575402
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_18-37-20PM_1.log

Patch: /u01/backup/33859214/33803476/33806152
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_18-37-20PM_1.log

Patch: /u01/backup/33859214/33803476/33815596
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_18-37-20PM_1.log

Patch: /u01/backup/33859214/33803476/33815607
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_18-37-20PM_1.log

Patch: /u01/backup/33859214/33803476/33911149
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2022-05-11_18-37-20PM_1.log

OPatchauto session completed at Wed May 11 18:46:27 2022
Time taken to complete the session 11 minutes, 49 seconds

注意:如果有其他问题,补丁已经开始进行了,中途出现问题报错,需检查日志修复问题后使用 resume 执行补丁。

代码语言:javascript复制
# /u01/app/19.0.0/grid/OPatch/opatchauto resume

检查补丁信息

代码语言:javascript复制
( ASM1)$ opatch lspatches
33575402;DBWLM RELEASE UPDATE 19.0.0.0.0 (33575402)
33911149;TOMCAT RELEASE UPDATE 19.0.0.0.0 (33911149)
33815607;ACFS RELEASE UPDATE 19.15.0.0.0 (33815607)
33815596;OCW RELEASE UPDATE 19.15.0.0.0 (33815596)
33806152;Database Release Update : 19.15.0.0.220419 (33806152)

( ASM2)$ opatch lspatches
33911149;TOMCAT RELEASE UPDATE 19.0.0.0.0 (33911149)
33815607;ACFS RELEASE UPDATE 19.15.0.0.0 (33815607)
33815596;OCW RELEASE UPDATE 19.15.0.0.0 (33815596)
33806152;Database Release Update : 19.15.0.0.220419 (33806152)
33575402;DBWLM RELEASE UPDATE 19.0.0.0.0 (33575402)

检查发现 RAC2 ACFS 和 DBWLM 没有变过来而已,不过已经打上补丁了。

代码语言:javascript复制
RAC1$ opatch lspatches
33815596;OCW RELEASE UPDATE 19.15.0.0.0 (33815596)
33806152;Database Release Update : 19.15.0.0.220419 (33806152)

RAC2$ opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)

手动打补丁

检查发现 RAC2 DB 没有打上补丁,那么手动来打吧。

代码语言:javascript复制
# chown -R oracle:oinstall 33859214 

su - oracle

RAC2$ /u01/backup/33859214/33803476/33815596/custom/scripts/prepatch.sh -dbhome /u01/app/oracle/product/19.0.0/dbhome_1

RAC2$ opatch apply -oh /u01/app/oracle/product/19.0.0/dbhome_1 /u01/backup/33859214/33803476/33806152

RAC2$ opatch apply -oh /u01/app/oracle/product/19.0.0/dbhome_1 /u01/backup/33859214/33803476/33815596

RAC2$ /u01/backup/33859214/33803476/33815596/custom/scripts/postpatch.sh -dbhome /u01/app/oracle/product/19.0.0.0/dbhome_1
代码语言:javascript复制
Oracle 用户再次检查 19.15 已没有问题了。
代码语言:javascript复制
$ opatch lspatches
33815596;OCW RELEASE UPDATE 19.15.0.0.0 (33815596)
33806152;Database Release Update : 19.15.0.0.220419 (33806152)

OPatch succeeded.

OJVM 补丁

检查 OJVM 是否安装,是否使用? 这个很早之前也说过了。

代码语言:javascript复制
SQL> SELECT version, status FROM dba_registry WHERE comp_id='JAVAVM';
16:55:52 SQL> 
VERSION                        STATUS
------------------------------ --------------------------------------------
19.0.0.0.0                     VALID

SQL> select count(*) from x$kglob where KGLOBTYP = 29 OR KGLOBTYP = 56;

  COUNT(*)
----------
         0
         
--为了确定 OJVM 的用户,我们可以通过下面的 SQL 检查 V$SESSION 来显示数据库中调用 Java 的 SERVICE, PROGRAM 或 user。此 SQL 将只显示活动用户(因此可能必须定期运行以充分收集数据)。

col service_name format a20
col username format a20
col program format a20
set num 8
select sess.service_name, sess.username,sess.program, count(*)
from
v$session sess,
dba_users usr,
x$kgllk lk,
x$kglob
where kgllkuse=saddr
and kgllkhdl=kglhdadr
and kglobtyp in (29,56)
and sess.user# = usr.user_id
and usr.oracle_maintained = 'N'      -- omit this line on 11.2.0.4
group by sess.service_name, sess.username, sess.program
order by sess.service_name, sess.username, sess.program;

--如果您希望报告除您自己的应用程序之外正在使用的 Oracle 实用程序(以便Oracle 实用程序也可以暂停),请使用以下 SQL SELECT 语句。即时编译器(JIT)在滚动过程中停止。

col service_name format a20
col username format a20
col program format a20
set num 8
select sess.service_name, sess.username,sess.program, count(*)
from
v$session sess,
x$kgllk lk,
x$kglob
where kgllkuse=saddr
and kgllkhdl=kglhdadr
and kglobtyp in (29,56)
group by sess.service_name, sess.username, sess.program
order by sess.service_name, sess.username, sess.program;

OJVM PSU 补丁将补丁文件放到 ORACLE_HOME 中,重新链接 ORACLE_HOME,然后修改 Oracle 可执行文件。然后,Oracle 数据库编排 Java 系统类的更新。

使用 RAC 滚动步骤在主数据库中停止、清空和禁用所有使用 OJVM 的服务。应用OJVM Patch 和所有 Post SQL (Data Patch)步骤。重启数据库,启用并重启使用OJVM 的服务。通俗易懂的意思就是停止数据库实例应用 OJVM 补丁。

代码语言:javascript复制
--关闭实例 1 
$ srvctl stop instance -d jiekedb -instance jiekedb1

--应用 OJVM 补丁
cd /u01/backup/33859214/33808367
opatch apply -local     
opatch lsinventory 

--启动实例执行 datapatch 脚本
$ srvctl start instance -d jiekedb -instance jiekedb1
cd $ORACLE_HOME/OPatch

./datapatch -verbose

检查数据库补丁信息

代码语言:javascript复制
set line 456 
col ACTION_TIME for a30
col STATUS for a10
col DESCRIPTION for a55
select PATCH_ID, PATCH_UID, TARGET_VERSION, ACTION, ACTION_TIME, STATUS, DESCRIPTION from dba_registry_sqlpatch order by action_time;

  PATCH_ID  PATCH_UID TARGET_VERSION  ACTION          ACTION_TIME                    STATUS     DESCRIPTION
---------- ---------- --------------- --------------- ------------------------------ ---------- -------------------------------------------------------
  29517242   22862832 19.3.0.0.0      APPLY           09-MAY-22 05.18.12.723309 PM   SUCCESS    Database Release Update : 19.3.0.0.190416 (29517242)
  33806152   24713297 19.15.0.0.0     APPLY           11-MAY-22 12.04.14.679266 PM   SUCCESS    Database Release Update : 19.15.0.0.220419 (33806152)
  33808367   24680225 19.15.0.0.0     APPLY           11-MAY-22 05.36.54.859534 PM   SUCCESS    OJVM RELEASE UPDATE: 19.15.0.0.220419 (33808367)

补丁回退

回退补丁也比较简单,具体请查看 README.html 。新安装的数据库一般情况下是不需要回退的,这里以备不时之需,请使用 root 用户执行:

代码语言:javascript复制
# <GI_HOME>/OPatch/opatchauto rollback <UNZIPPED_PATCH_LOCATION>/33803476

然后启动数据库,使用 Oracle 用户仅在其中一个节点执行下面脚本。

代码语言:javascript复制
cd $ORACLE_HOME/OPatch
./datapatch -verbose

然后检查日志:

代码语言:javascript复制
33806152_rollback_<database SID>_<CDB name>_<timestamp>.log

然后编译无效对象:

代码语言:javascript复制
cd $ORACLE_HOME/rdbms/admin
sqlplus / AS SYSDBA
SQL> @utlrp.sql

如果是单机环境,关闭数据库实例和监听,直接:

代码语言:javascript复制
opatch rollback -id 33806152

其他补丁相关的资料

https://mp.weixin.qq.com/s/_Z8boXE3ZTxq37rSAyZGeA https://mp.weixin.qq.com/s/VGyb-UjbI1IFo1llEfVduQ https://mp.weixin.qq.com/s/2DoBV-8PsoYENgwM3BAIaQ https://mp.weixin.qq.com/s/zS4aE3TfhbMwDk37nIEGfg https://mp.weixin.qq.com/s/C0YbdGs2SVxqDuTm1g83fw https://mp.weixin.qq.com/s/0jPYvtfFezGLhq-S-9RqGQ https://mp.weixin.qq.com/s/Q45cfsRz1Oa4dSzi8_2Ktg https://www.modb.pro/download/1033988 https://www.modb.pro/download/541101 https://www.modb.pro/download/39727 https://www.modb.pro/doc/46149 https://www.modb.pro/db/27255 https://www.modb.pro/doc/1602 https://www.modb.pro/doc/4638

全文完,希望可以帮到正在阅读的你

0 人点赞