作者 | 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
全文完,希望可以帮到正在阅读的你