Oracle 19c rac 补丁升级,从19.7 to19.25-集群(失败)

发布于:2024-12-18 ⋅ 阅读:(165) ⋅ 点赞:(0)

Oracle 19c rac 补丁升级,从19.7 to19.25,在补丁应用的时候报错: OUI-67124:Failed To Do String Subtitution,我猜想是 bug 引起的,mos 上面在 12 月 2 日上面有记录,苦于没有账号,暂时没有思路解决,也请有解决思路的给出解决建议,互相学习。

1. 环境信息

角色

数据库

IP地址

数据库版本

数据库名称

源端

RAC

192.168.40.30/31

19.7

hfdb

1.1. 补丁版本概述

Oracle 19C

Grid Database Release Update 19.25.0

Patch 36916690

15-Oct-2024

Oracle 19C

Database GI Release Update 19.25.0

Patch 36912597

15-Oct-2024

Oracle 19C

OJVM Release Update 19.25.0

Patch 36878697

15-Oct-2024

1.2. 原数据库补丁版本

column product format A40
column version format A15
column version_full format A20
column status format A15
select * from product_component_version;



SYS@hfdb1>  select * from product_component_version;

PRODUCT                                  VERSION         VERSION_FULL         STATUS
---------------------------------------- --------------- -------------------- ------------------------------
Oracle Database 19c Enterprise Edition   19.0.0.0.0      19.7.0.0.0           Production

1.3. 查看 grid Opatch 版本

[grid@hfdb30:/oracle/app/19c/grid/OPatch]$opatch version
OPatch Version: 12.2.0.1.17

OPatch succeeded.
[grid@hfdb30:/oracle/app/19c/grid/OPatch]$

1.4. 查看 oracle Opatch 版本

[oracle@hfdb30:/oracle/app/oracle/product/19c/db_1/OPatch]$opatch version
OPatch Version: 12.2.0.1.17

OPatch succeeded.
[oracle@hfdb30:/oracle/app/oracle/product/19c/db_1/OPatch]$

1.5. 升级文本拷贝到两台主机

[root@hfdb30 soft]# ll
总用量 3963280
-rw-r--r-- 1 root root 1776391552 12月 11 10:10 p36912597_190000_Linux-x86-64.zip
-rw-r--r-- 1 root root 1743257600 12月  9 19:55 p36916690_190000_Linux-x86-64.zip
-rw-r--r-- 1 root root  134583311 12月  9 19:49 p6880880_190000_Linux-x86-64.zip


[root@hfdb31 soft]# ll
总用量 3963280
-rw-r--r-- 1 root root 1776391552 12月 11 10:10 p36912597_190000_Linux-x86-64.zip
-rw-r--r-- 1 root root 1743257600 12月  9 19:55 p36916690_190000_Linux-x86-64.zip
-rw-r--r-- 1 root root  134583311 12月  9 19:49 p6880880_190000_Linux-x86-64.zip


-- 升级包解压(两台主机都要做)
su - root
cd /soft

chown -R grid:oinstall /soft
su - grid -c "unzip -q /soft/p36916690_190000_Linux-x86-64.zip -d /soft"

chown -R oracle:oinstall /soft
su - oracle -c "unzip -q -o /soft/p36912597_190000_Linux-x86-64.zip -d /oracle/app/oracle/product/19c/db_1"

2. 准备工作及打补丁

2.1. 备份当前集群的所有文件(两个节点都要做)

[root@hfdb30 ~]# srvctl stop database -d hfdb
[root@hfdb30 ~]# crsctl stop crs
-- 第二台也停止crs
[root@hfdb31 ~]# crsctl stop crs
[root@hfdb30 ~]#tar -zcvf /u01/app.tar.gz /u01/app
[root@hfdb31 ~]#tar -zcvf /u01/app.tar.gz /u01/app

2.2. 解压压缩包并替换opatch(两节点都要做)

替换GI的OPatch

-- 备份OPatch
[root@hfdb30:/oracle/app/19c/grid]$mv OPatch OPatch.bak

-- 升级替换OPatch
[root@hfdb30 soft]# chown -R grid:oinstall /soft
[root@hfdb30 soft]# unzip p6880880_190000_Linux-x86-64.zip
[root@hfdb30 soft]# chown -R grid:oinstall /soft   
[root@hfdb30 ~]# cd /oracle/app/19c/grid/
[root@hfdb30 grid]# cp -r /soft/OPatch/ ./
[root@hfdb30 grid]# chown grid:oinstall -R OPatch
[grid@hfdb30:/oracle/app/19c/grid/OPatch]$opatch version
OPatch Version: 12.2.0.1.44   -- 显示版本是44,表示你升级成功的
OPatch succeeded.


-- 节点2
[root@hfdb31 grid]# mv OPatch OPatch.bak
[root@hfdb30 grid]# scp -r OPatch hfdb31:/oracle/app/19c/grid
[root@hfdb31 grid]# chown grid:oinstall -R OPatch
[grid@hfdb31:/oracle/app/19c/grid/OPatch]$opatch version
OPatch Version: 12.2.0.1.44   -- 显示版本是44,表示你升级成功的
OPatch succeeded.

2.3. 替换DB的OPatch

[oracle@hfdb30:/home/oracle]$cd $ORACLE_HOME
[oracle@hfdb30:/oracle/app/oracle/product/19c/db_1]$mv OPatch OPatch.bak
[oracle@hfdb30:/oracle/app/oracle/product/19c/db_1]$

su - root
[root@hfdb30 db_1]# chown -R oracle:oinstall /soft
[root@hfdb30 db_1]# cp -r /soft/OPatch /oracle/app/oracle/product/19c/db_1
[root@hfdb30 db_1]# chown -R oracle:oinstall /oracle/app/oracle/product/19c/db_1/OPatch
[root@hfdb30 db_1]# su - oracle
[oracle@hfdb30:/oracle/app/oracle/product/19c/db_1/OPatch]$opatch version
OPatch Version: 12.2.0.1.44  -- 显示版本是44,表示你升级成功的
OPatch succeeded.

-- 节点2
[oracle@hfdb31:/home/oracle]$cd $ORACLE_HOME
[oracle@hfdb31:/oracle/app/oracle/product/19c/db_1]$mv OPatch OPatch.bak
[oracle@hfdb31:/oracle/app/oracle/product/19c/db_1]$

[root@hfdb30 db_1]# scp -r OPatch hfdb31:/oracle/app/oracle/product/19c/db_1
[root@hfdb31 db_1]# chown -R oracle:oinstall /oracle/app/oracle/product/19c/db_1/OPatch
[root@hfdb31 db_1]# su - oracle
[oracle@hfdb31:/oracle/app/oracle/product/19c/db_1]$opatch version
OPatch Version: 12.2.0.1.44

OPatch succeeded.

2.4. 3.验证ORACLE清单信息(两节点)

su - root
chown grid:oinstall -R /soft
su - grid
$ORACLE_HOME/OPatch/opatch lsinventory > /soft/grid_patch.txt
$ORACLE_HOME/OPatch/opatch lsinv -detail -oh $ORACLE_HOME >> /soft/grid_patch.txt
$ORACLE_HOME/OPatch/opatch lspatches >> /soft/grid_patch.txt

su - root
chown oracle:oinstall -R /soft
su - oracle
$ORACLE_HOME/OPatch/opatch lsinventory > /soft/grid_patch.txt
$ORACLE_HOME/OPatch/opatch lsinv -detail -oh $ORACLE_HOME >> /soft/grid_patch.txt
$ORACLE_HOME/OPatch/opatch lspatches >> /soft/grid_patch.txt



-- 节点1,grid:
[root@hfdb30 db_1]# su - root
Last login: Mon Dec  9 09:28:54 CST 2024 from 192.168.40.3 on pts/0
[root@hfdb30 ~]# chown grid:oinstall -R /soft
[root@hfdb30 ~]# su - grid
[grid@hfdb30:/home/grid]$$ORACLE_HOME/OPatch/opatch lsinventory > /soft/grid_patch.txt
[grid@hfdb30:/home/grid]$$ORACLE_HOME/OPatch/opatch lsinv -detail -oh $ORACLE_HOME >> /soft/grid_patch.txt
[grid@hfdb30:/home/grid]$$ORACLE_HOME/OPatch/opatch lspatches >> /soft/grid_patch.txt
-- 节点2,grid:
[root@hfdb31 ~]# su - grid
Last login: Mon Dec  9 10:40:25 CST 2024 on pts/2
[grid@hfdb31:/home/grid]$$ORACLE_HOME/OPatch/opatch lsinventory > /soft/grid_patch.txt
[grid@hfdb31:/home/grid]$
[grid@hfdb31:/home/grid]$$ORACLE_HOME/OPatch/opatch lsinv -detail -oh $ORACLE_HOME >> /soft/grid_patch.txt
[grid@hfdb31:/home/grid]$
[grid@hfdb31:/home/grid]$$ORACLE_HOME/OPatch/opatch lspatches >> /soft/grid_patch.txt


-- 节点1,oracle:
su - root
chown oracle:oinstall -R /soft
su - oracle

$ORACLE_HOME/OPatch/opatch lsinventory > /soft/oracle_patch.txt
$ORACLE_HOME/OPatch/opatch lsinv -detail -oh $ORACLE_HOME >> /soft/oracle_patch.txt
$ORACLE_HOME/OPatch/opatch lspatches >> /soft/oracle_patch.txt

-- 节点2,oracle:
su - root
chown oracle:oinstall -R /soft
su - oracle

$ORACLE_HOME/OPatch/opatch lsinventory > /soft/oracle_patch.txt
$ORACLE_HOME/OPatch/opatch lsinv -detail -oh $ORACLE_HOME >> /soft/oracle_patch.txt
$ORACLE_HOME/OPatch/opatch lspatches >> /soft/oracle_patch.txt

3. 冲突检测(两节点)

3.1. grid用户下

chown -R grid:oinstall /soft
[grid@hfdb30:/oracle/app/19c/grid/OPatch]$cd $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36758186
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36912597
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36917397
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36917416
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36940756


[grid@hfdb30:/oracle/app/19c/grid/OPatch]$$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36758186
Oracle Interim Patch Installer version 12.2.0.1.44
Copyright (c) 2024, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /oracle/app/19c/grid
Central Inventory : /oracle/app/oraInventory
   from           : /oracle/app/19c/grid/oraInst.loc
OPatch version    : 12.2.0.1.44
OUI version       : 12.2.0.7.0
Log file location : /oracle/app/19c/grid/cfgtoollogs/opatch/opatch2024-12-09_11-09-00AM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.
[grid@hfdb30:/oracle/app/19c/grid/OPatch]$$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36912597
Oracle Interim Patch Installer version 12.2.0.1.44
Copyright (c) 2024, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /oracle/app/19c/grid
Central Inventory : /oracle/app/oraInventory
   from           : /oracle/app/19c/grid/oraInst.loc
OPatch version    : 12.2.0.1.44
OUI version       : 12.2.0.7.0
Log file location : /oracle/app/19c/grid/cfgtoollogs/opatch/opatch2024-12-09_11-09-05AM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.
[grid@hfdb30:/oracle/app/19c/grid/OPatch]$$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36917397
Oracle Interim Patch Installer version 12.2.0.1.44
Copyright (c) 2024, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /oracle/app/19c/grid
Central Inventory : /oracle/app/oraInventory
   from           : /oracle/app/19c/grid/oraInst.loc
OPatch version    : 12.2.0.1.44
OUI version       : 12.2.0.7.0
Log file location : /oracle/app/19c/grid/cfgtoollogs/opatch/opatch2024-12-09_11-09-40AM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.
[grid@hfdb30:/oracle/app/19c/grid/OPatch]$$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36917416
Oracle Interim Patch Installer version 12.2.0.1.44
Copyright (c) 2024, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /oracle/app/19c/grid
Central Inventory : /oracle/app/oraInventory
   from           : /oracle/app/19c/grid/oraInst.loc
OPatch version    : 12.2.0.1.44
OUI version       : 12.2.0.7.0
Log file location : /oracle/app/19c/grid/cfgtoollogs/opatch/opatch2024-12-09_11-09-44AM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.
[grid@hfdb30:/oracle/app/19c/grid/OPatch]$$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36940756
Oracle Interim Patch Installer version 12.2.0.1.44
Copyright (c) 2024, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /oracle/app/19c/grid
Central Inventory : /oracle/app/oraInventory
   from           : /oracle/app/19c/grid/oraInst.loc
OPatch version    : 12.2.0.1.44
OUI version       : 12.2.0.7.0
Log file location : /oracle/app/19c/grid/cfgtoollogs/opatch/opatch2024-12-09_11-10-08AM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

3.2. oracle用户下

su - root
chown -R oracle:oinstall /soft
su - oracle
cd /oracle/app/oracle/product/19c/db_1
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36758186
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36912597


[root@hfdb30 soft]# chown -R oracle:oinstall /soft
[root@hfdb30 soft]# su - oracle
Last login: Mon Dec  9 10:43:04 CST 2024 on pts/0
[oracle@hfdb30:/home/oracle]$cd $ORACLE_HOME
[oracle@hfdb30:/oracle/app/oracle/product/19c/db_1]$cd OPatch
[oracle@hfdb30:/oracle/app/oracle/product/19c/db_1/OPatch]$$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36758186
Oracle Interim Patch Installer version 12.2.0.1.44
Copyright (c) 2024, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /oracle/app/oracle/product/19c/db_1
Central Inventory : /oracle/app/oraInventory
   from           : /oracle/app/oracle/product/19c/db_1/oraInst.loc
OPatch version    : 12.2.0.1.44
OUI version       : 12.2.0.7.0
Log file location : /oracle/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2024-12-09_11-25-46AM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.
[oracle@hfdb30:/oracle/app/oracle/product/19c/db_1/OPatch]$$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36912597
Oracle Interim Patch Installer version 12.2.0.1.44
Copyright (c) 2024, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /oracle/app/oracle/product/19c/db_1
Central Inventory : /oracle/app/oraInventory
   from           : /oracle/app/oracle/product/19c/db_1/oraInst.loc
OPatch version    : 12.2.0.1.44
OUI version       : 12.2.0.7.0
Log file location : /oracle/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2024-12-09_11-25-55AM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.
[oracle@hfdb30:/oracle/app/oracle/product/19c/db_1/OPatch]$exit
logout


[root@hfdb31 soft]# chown -R oracle:oinstall /soft
[root@hfdb31 soft]# su - oracle
Last login: Mon Dec  9 10:44:37 CST 2024 on pts/2
[oracle@hfdb31:/home/oracle]$$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36758186
Oracle Interim Patch Installer version 12.2.0.1.17
Copyright (c) 2024, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /oracle/app/oracle/product/19c/db_1
Central Inventory : /oracle/app/oraInventory
   from           : /oracle/app/oracle/product/19c/db_1/oraInst.loc
OPatch version    : 12.2.0.1.17
OUI version       : 12.2.0.7.0
Log file location : /oracle/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2024-12-09_11-55-25AM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.
[oracle@hfdb31:/home/oracle]$$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/36916690/36912597
Oracle Interim Patch Installer version 12.2.0.1.17
Copyright (c) 2024, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /oracle/app/oracle/product/19c/db_1
Central Inventory : /oracle/app/oraInventory
   from           : /oracle/app/oracle/product/19c/db_1/oraInst.loc
OPatch version    : 12.2.0.1.17
OUI version       : 12.2.0.7.0
Log file location : /oracle/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2024-12-09_11-55-53AM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.
[oracle@hfdb31:/home/oracle]$

4. 空间检测(两节点)

su - root
chown grid:oinstall -R /soft

4.1. grid用户下
 


vim /soft/patch_list_gihome.txt
/soft/36916690/36758186
/soft/36916690/36912597
/soft/36916690/36917397
/soft/36916690/36917416
/soft/36916690/36940756
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /soft/patch_list_gihome.txt



[root@hfdb30 soft]# chown grid:oinstall -R /soft
[root@hfdb30 soft]# su - grid
Last login: Mon Dec  9 11:31:48 CST 2024 on pts/0
[grid@hfdb30:/home/grid]$vim /soft/patch_list_gihome.txt
[grid@hfdb30:/home/grid]$$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /soft/patch_list_gihome.txt
Oracle Interim Patch Installer version 12.2.0.1.44
Copyright (c) 2024, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /oracle/app/19c/grid
Central Inventory : /oracle/app/oraInventory
   from           : /oracle/app/19c/grid/oraInst.loc
OPatch version    : 12.2.0.1.44
OUI version       : 12.2.0.7.0
Log file location : /oracle/app/19c/grid/cfgtoollogs/opatch/opatch2024-12-09_11-33-17AM_1.log

Invoking prereq "checksystemspace"

Prereq "checkSystemSpace" passed.

OPatch succeeded.

su - root
chown oracle:oinstall -R /soft

4.2. oracle用户下


vim /soft/patch_list_dbhome.txt
/soft/36916690/36758186
/soft/36916690/36912597
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /soft/patch_list_dbhome.txt


[root@hfdb30 ~]#  chown oracle:oinstall -R /soft
[root@hfdb30 ~]# su - oracle
Last login: Mon Dec  9 11:35:39 CST 2024 on pts/0
[oracle@hfdb30:/home/oracle]$ vim /soft/patch_list_dbhome.txt
[oracle@hfdb30:/home/oracle]$$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /soft/patch_list_dbhome.txt
Oracle Interim Patch Installer version 12.2.0.1.44
Copyright (c) 2024, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /oracle/app/oracle/product/19c/db_1
Central Inventory : /oracle/app/oraInventory
   from           : /oracle/app/oracle/product/19c/db_1/oraInst.loc
OPatch version    : 12.2.0.1.44
OUI version       : 12.2.0.7.0
Log file location : /oracle/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2024-12-09_11-36-27AM_1.log

Invoking prereq "checksystemspace"

Prereq "checkSystemSpace" passed.

OPatch succeeded.

5. 应用修补程序补丁(两节点)

$ORACLE_HOME/OPatch/opatchauto apply /soft/36916690 -analyze

/oracle/app/19c/grid/OPatch/opatchauto  apply  /soft/36916690  -oh /oracle/app/19c/grid  -analyze
/oracle/app/oracle/product/19c/db_1/OPatch/opatchauto apply  /soft/36916690  -oh /oracle/app/oracle/product/19c/db_1  -analyze



[root@hfdb30 soft]# /oracle/app/oracle/product/19c/db_1/OPatch/opatchauto apply  /soft/36916690  -oh /oracle/app/oracle/product/19c/db_1  -analyze

OPatchauto session is initiated at Mon Dec  9 12:08:12 2024

System initialization log file is /oracle/app/oracle/product/19c/db_1/cfgtoollogs/opatchautodb/systemconfig2024-12-09_12-08-28PM.log.

Session log file is /oracle/app/oracle/product/19c/db_1/cfgtoollogs/opatchauto/opatchauto2024-12-09_12-08-51PM.log
The id for this session is UVD3

Executing OPatch prereq operations to verify patch applicability on home /oracle/app/oracle/product/19c/db_1
Patch applicability verified successfully on home /oracle/app/oracle/product/19c/db_1


Executing patch validation checks on home /oracle/app/oracle/product/19c/db_1
Patch validation checks successfully completed on home /oracle/app/oracle/product/19c/db_1


Verifying SQL patch applicability on home /oracle/app/oracle/product/19c/db_1
No sqlpatch prereq operations are required on the local node for this home
No step execution required.........

OPatchAuto successful.

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

Analysis for applying patches has completed successfully:

Host:hfdb30
RAC Home:/oracle/app/oracle/product/19c/db_1
Version:19.0.0.0.0


==Following patches were SKIPPED:

Patch: /soft/36916690/36917397
Reason: This patch is not applicable to this specified target type - "rac_database"

Patch: /soft/36916690/36758186
Reason: This patch is not applicable to this specified target type - "rac_database"

Patch: /soft/36916690/36940756
Reason: This patch is not applicable to this specified target type - "rac_database"


==Following patches were SUCCESSFULLY analyzed to be applied:

Patch: /soft/36916690/36917416
Log: /oracle/app/oracle/product/19c/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2024-12-09_12-09-30PM_1.log

Patch: /soft/36916690/36912597
Log: /oracle/app/oracle/product/19c/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2024-12-09_12-09-30PM_1.log



OPatchauto session completed at Mon Dec  9 12:11:15 2024
Time taken to complete the session 2 minutes, 49 seconds
[root@hfdb30 soft]#

6. 打补丁(双节点)

使用root用户应用补丁【节点1打完,再打节点2】

滚动升级,打完一个节点的再打另一个节点,此操作主库须与业务确认

我的升级采用了两种方法,一种是grid和oracle分开打补丁,一种是一起打补丁

节点一采用的是分开打补丁,节点二采用的是一起打补丁


su - root

6.1. 如果节点2没有这个文件可以从节点1拷过去

scp -r /oracle/app/oraInventory/ContentsXML/oui-patch.xml root@hfdb31:/oracle/app/oraInventory/ContentsXML/ContentsXML
chmod 777 /oracle/app/oraInventory/ContentsXML/oui-patch.xml
chown -R grid:oinstall oui-patch.xml
cd /soft/36916690/36917416/files/bin
chmod 777 *

6.2. 执行以下命令应用补丁

-- 首先检测集群的状态,保证集群是正常工作的
su - oracle
srvctl status database -d hfdb
-- 如果没启动,记得启动一下实例
srvctl stop instance -d hfdb -i hfdb1
srvctl start instance -d hfdb -i hfdb2


-- 补丁冲突检查
 ps -ef | grep sqlplus //如果有sqlplus连进去都需要杀掉,两个节点都检查

 
-- 给grid补丁升级
su - root
cd /
/oracle/app/19c/grid/OPatch/opatchauto apply /soft/36916690 -oh /oracle/app/19c/grid -analyze
/oracle/app/19c/grid/OPatch/opatchauto apply /soft/36916690 -oh /oracle/app/19c/grid
-- 日志  /oracle/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/ 

-- 回滚(不需要操作)
/oracle/app/19c/grid/OPatch/opatchauto rollback /soft/36916690 -oh /oracle/app/19c/grid

-- 给oracle补丁升级
/oracle/app/oracle/product/19c/db_1/OPatch/opatchauto apply /soft/35319490 -oh /oracle/app/oracle/product/19c/db_1 -analyze
/oracle/app/oracle/product/19c/db_1/OPatch/opatchauto apply /soft/36916690 -oh /oracle/app/oracle/product/19c/db_1 


####/oracle/app/19c/grid/OPatch/opatchauto rollback /soft/36916690 
[root@hfdb30 /]# /oracle/app/19c/grid/OPatch/opatchauto apply /soft/36916690 -oh /oracle/app/19c/grid -analyze

OPatchauto session is initiated at Mon Dec  9 13:40:03 2024

System initialization log file is /oracle/app/19c/grid/cfgtoollogs/opatchautodb/systemconfig2024-12-09_01-40-13PM.log.

Session log file is /oracle/app/19c/grid/cfgtoollogs/opatchauto/opatchauto2024-12-09_01-40-35PM.log
The id for this session is A99D

Executing OPatch prereq operations to verify patch applicability on home /oracle/app/19c/grid
Patch applicability verified successfully on home /oracle/app/19c/grid


Executing patch validation checks on home /oracle/app/19c/grid
Patch validation checks successfully completed on home /oracle/app/19c/grid

OPatchAuto successful.

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

Analysis for applying patches has completed successfully:

Host:hfdb30
CRS Home:/oracle/app/19c/grid
Version:19.0.0.0.0


==Following patches were SUCCESSFULLY analyzed to be applied:

Patch: /soft/36916690/36917416
Log: /oracle/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-12-09_13-41-07PM_1.log

Patch: /soft/36916690/36917397
Log: /oracle/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-12-09_13-41-07PM_1.log

Patch: /soft/36916690/36758186
Log: /oracle/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-12-09_13-41-07PM_1.log

Patch: /soft/36916690/36940756
Log: /oracle/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-12-09_13-41-07PM_1.log

Patch: /soft/36916690/36912597
Log: /oracle/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-12-09_13-41-07PM_1.log



OPatchauto session completed at Mon Dec  9 13:48:00 2024
Time taken to complete the session 7 minutes, 48 seconds



-- 应用补丁的时候报错
[2024-12-11 12:04:52] [INFO]        将文件复制到 "/oracle/app/19c/grid/jdk/jmc.txt"
[2024-12-11 12:04:52] [INFO]        The following actions have failed:
[2024-12-11 12:04:52] [WARNING]     OUI-67124:Failed to do string subtitution.
[2024-12-11 12:04:52] [INFO]        是否继续? [y|n]
[2024-12-11 12:04:52] [INFO]        N (auto-answered by -silent)
[2024-12-11 12:04:52] [INFO]        User Responded with: N
[2024-12-11 12:04:52] [WARNING]     OUI-67124:ApplySession 在系统修改阶段失败... 'ApplySession::apply failed: Failed to do string subtitution.
                                    '
[2024-12-11 12:04:52] [INFO]        Restoring "/oracle/app/19c/grid" to the state prior to running NApply...
[2024-12-11 12:04:52] [INFO]        Restoring files: copy recurse from /oracle/app/19c/grid/.patch_storage/NApply/2024-12-11_11-27-21上午/backup to /oracle/app/19c/grid

#### Stack trace of processes holding locks ####

Time: 2024-12-11_11-27-21AM
Command: oracle/opatchauto/core/OPatchAutoCore apply /soft/36916690 -oh /oracle/app/19c/grid -target_type cluster -binary -invPtrLoc /oracle/app/19c/grid/oraInst.loc -persistresult /oracle/app/19c/grid/opatchautocfg/db/sessioninfo/sessionresult_hfcwdb66_crs_1.ser -analyzedresult /oracle/app/19c/grid/opatchautocfg/db/sessioninfo/sessionresult_analyze_hfcwdb66_crs_1.ser -customLogDir /oracle/app/19c/grid/cfgtoollogs
Lock File Name: /oracle/app/oraInventory/locks/_oracle_app_19c_grid_writer.lock
StackTrace:
-----------
java.lang.Throwable
        at oracle.sysman.oii.oiit.OiitLockHeartbeat.writeStackTrace(OiitLockHeartbeat.java:193)
        at oracle.sysman.oii.oiit.OiitLockHeartbeat.<init>(OiitLockHeartbeat.java:173)
        at oracle.sysman.oii.oiit.OiitTargetLocker.getWriterLock(OiitTargetLocker.java:346)
        at oracle.sysman.oii.oiit.OiitTargetLocker.getWriterLock(OiitTargetLocker.java:238)
        at oracle.sysman.oii.oiic.OiicStandardInventorySession.acquireLocks(OiicStandardInventorySession.java:564)
        at oracle.sysman.oii.oiic.OiicStandardInventorySession.initAreaControl(OiicStandardInventorySession.java:359)
        at oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession(OiicStandardInventorySession.java:332)
        at oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession(OiicStandardInventorySession.java:294)
        at oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession(OiicStandardInventorySession.java:243)
        at oracle.sysman.oui.patch.impl.HomeOperationsImpl.initialize(HomeOperationsImpl.java:107)
        at oracle.glcm.opatch.common.api.install.HomeOperationsShell.initialize(HomeOperationsShell.java:117)
        at oracle.opatch.ipm.IPMRWServices.addPatchCUP(IPMRWServices.java:134)
        at oracle.opatch.ipm.IPMRWServices.add(IPMRWServices.java:146)
        at oracle.opatch.ApplySession.apply(ApplySession.java:898)
        at oracle.opatch.ApplySession.processLocal(ApplySession.java:4110)
        at oracle.opatch.ApplySession.process(ApplySession.java:4989)
        at oracle.opatch.ApplySession.process(ApplySession.java:4842)
        at oracle.opatch.OPatchACL.processApply(OPatchACL.java:310)
        at oracle.opatch.opatchutil.NApply.legacy_process(NApply.java:1589)
        at oracle.opatch.opatchutil.NApply.legacy_process(NApply.java:371)
        at oracle.opatch.opatchutil.NApply.process(NApply.java:353)
        at oracle.opatch.opatchutil.OUSession.napply(OUSession.java:1139)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at oracle.opatch.UtilSession.process(UtilSession.java:355)
        at oracle.opatch.OPatchSession.main(OPatchSession.java:3956)
        at oracle.opatch.OPatchSDK.NApply(OPatchSDK.java:1127)
        at oracle.opatch.opatchsdk.OPatchTarget.NApply(OPatchTarget.java:4169)
        at oracle.opatchauto.core.binary.action.LegacyPatchAction.execute(LegacyPatchAction.java:72)
        at oracle.opatchauto.core.binary.OPatchAutoBinary.patchWithoutAnalyze(OPatchAutoBinary.java:519)
        at oracle.opatchauto.core.binary.OPatchAutoBinary.applyWithoutAnalyze(OPatchAutoBinary.java:406)
        at oracle.opatchauto.core.OPatchAutoCore.runOPatchAutoBinary(OPatchAutoCore.java:192)
        at oracle.opatchauto.core.OPatchAutoCore.main(OPatchAutoCore.java:75)

 ------------------------------------

[2024-12-11 12:15:52] [INFO]        ERROR: patch "36758186" with UPI + "25724426" not removed.
[2024-12-11 12:15:52] [INFO]        Removed patch "36912597" with UPI + "25871884" from OUI inventory memory..
[2024-12-11 12:15:53] [INFO]        Removed patch "36917397" with UPI + "25869648" from OUI inventory memory..
[2024-12-11 12:15:53] [INFO]        Removed patch "36917416" with UPI + "25869972" from OUI inventory memory..
[2024-12-11 12:15:53] [INFO]        Removed patch "36940756" with UPI + "25783343" from OUI inventory memory..
[2024-12-11 12:15:53] [INFO]        Saving inventory after applying each patch
[2024-12-11 12:15:53] [SEVERE]      OUI-67115:OPatch 无法还原 OH '/oracle/app/19c/grid'。请参阅 OPatch 文档以手动还原主目录, 然后再继续。
[2024-12-11 12:15:53] [WARNING]     OUI-67124:
                                    NApply was not able to restore the home.  Please invoke the following scripts:
                                      - restore.[sh,bat]
                                      - make.txt (Unix only)
                                    to restore the ORACLE_HOME.  They are located under
                                    "/oracle/app/19c/grid/.patch_storage/NApply/2024-12-11_11-27-21上午"
[2024-12-11 12:15:54] [SEVERE]      OUI-67073:UtilSession 失败: ApplySession 在系统修改阶段失败... 'ApplySession::apply failed: Failed to do string subtitution.
                                    '
[2024-12-11 12:15:54] [INFO]        --------------------------------------------------------------------------------
[2024-12-11 12:15:54] [INFO]        The following warnings have occurred during OPatch execution:
[2024-12-11 12:15:54] [INFO]        1) OUI-67124:Failed to do string subtitution.
[2024-12-11 12:15:54] [INFO]        2) OUI-67124:ApplySession 在系统修改阶段失败... 'ApplySession::apply failed: Failed to do string subtitution.
                                    '
[2024-12-11 12:15:54] [INFO]        3) OUI-67124:
                                    NApply was not able to restore the home.  Please invoke the following scripts:
                                      - restore.[sh,bat]
                                      - make.txt (Unix only)
                                    to restore the ORACLE_HOME.  They are located under
                                    "/oracle/app/19c/grid/.patch_storage/NApply/2024-12-11_11-27-21上午"
[2024-12-11 12:15:54] [INFO]        --------------------------------------------------------------------------------
[2024-12-11 12:15:54] [INFO]        Finishing UtilSession at Wed Dec 11 12:15:54 CST 2024
[2024-12-11 12:15:54] [INFO]        Log file location: /oracle/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-12-11_11-26-57上午_1.log


--重新应用的时候报错:

[root@hfcwdb66 /]# /oracle/app/19c/grid/OPatch/opatchauto apply /soft/36916690 -oh /oracle/app/19c/grid

OPatchauto session is initiated at Wed Dec 11 13:04:58 2024

System initialization log file is /oracle/app/19c/grid/cfgtoollogs/opatchautodb/systemconfig2024-12-11_01-05-27PM.log.

会话日志文件是/oracle/app/19c/grid/cfgtoollogs/opatchauto/opatchauto2024-12-11_01-05-39PM.log
此会话的 ID 为 5MBY

Executing OPatch prereq operations to verify patch applicability on home /oracle/app/19c/grid
Patch applicability verification failed on home /oracle/app/19c/grid

未能执行 [OPatchAutoBinaryAction] 补丁程序操作, 有关详细信息, 请查看日志。故障:
Patch Target : hfcwdb66->/oracle/app/19c/grid 类型 [crs]
Details: [
---------------------------Patching Failed---------------------------------
Command execution failed during patching in home: /oracle/app/19c/grid, host: hfcwdb66.
Command failed:  /oracle/app/19c/grid/OPatch/opatchauto  apply /soft/36916690 -oh /oracle/app/19c/grid -target_type cluster -binary -invPtrLoc /oracle/app/19c/grid/oraInst.loc -jre /oracle/app/19c/grid/OPatch/jre -persistresult /oracle/app/19c/grid/opatchautocfg/db/sessioninfo/sessionresult_analyze_hfcwdb66_crs_1.ser -analyze -online -prepare_home
Command failure output:
==Following patches FAILED in analysis for apply:

Patch: /soft/36916690/36917416
Log: /oracle/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-12-11_13-06-21下午_1.log
Reason: Failed during Analysis: /soft/36916690/36917416 is not applicable to the oracle home /oracle/app/19c/grid

Patch: /soft/36916690/36917397
Log: /oracle/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-12-11_13-06-21下午_1.log
Reason: Failed during Analysis: /soft/36916690/36917397 is not applicable to the oracle home /oracle/app/19c/grid

Patch: /soft/36916690/36758186
Log: /oracle/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-12-11_13-06-21下午_1.log
Reason: Failed during Analysis: /soft/36916690/36758186 is not applicable to the oracle home /oracle/app/19c/grid

Patch: /soft/36916690/36940756
Log: /oracle/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-12-11_13-06-21下午_1.log
Reason: Failed during Analysis: /soft/36916690/36940756 is not applicable to the oracle home /oracle/app/19c/grid

Patch: /soft/36916690/36912597
Log: /oracle/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-12-11_13-06-21下午_1.log
Reason: Failed during Analysis: /soft/36916690/36912597 is not applicable to the oracle home /oracle/app/19c/grid


After fixing the cause of failure start a new opatchauto session
]
OPATCHAUTO-68061: 业务流程引擎失败。
OPATCHAUTO-68061: 业务流程引擎失败, 返回代码为 1
OPATCHAUTO-68061: 有关详细资料, 请查看日志。
OPatchAuto 失败。

OPatchauto session completed at Wed Dec 11 13:06:50 2024
Time taken to complete the session 1 minute, 24 seconds

 opatchauto failed with error code 42
[root@hfcwdb66 /]#

[root@hfcwdb66 /]# more /oracle/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-12-11_13-06-21下午_1.log
[2024-12-11 13:06:40] [INFO]        ENTERING METHOD: NApplyReportForPrereqs(OPatchPatch[] patches,OPatchNApplyOptions options)
[2024-12-11 13:06:40] [INFO]        [OPSR-TIME] Loading cooked inventory
[2024-12-11 13:06:45] [INFO]        [OPSR-MEMORY] : Loading cooked one offs. Heap memory used 763 (MB)
[2024-12-11 13:06:47] [INFO]        堆栈说明: oracle.opatch.opatchsdk.OPatchException: Unable to create patchObject
                                    Possible causes are:
                                       ORACLE_HOME/inventory/oneoffs/36758186 is corrupted. PatchObject constructor: Input file "/oracle/app/
19c/grid/inventory/oneoffs/36758186/etc/config/actions" or "/oracle/app/19c/grid/inventory/oneoffs/36758186/etc/config/inventory" does not ex
ist.

                                        at oracle.opatch.ipm.HomeInventoryHelper.getOneOffEntry(HomeInventoryHelper.java:605)
                                        at oracle.opatch.ipm.CookedInventory.loadCookedInventory(CookedInventory.java:267)
                                        at oracle.opatch.ipm.CookedInventory.<init>(CookedInventory.java:80)
                                        at oracle.opatch.ipm.CookedInventory.init(CookedInventory.java:107)
                                        at oracle.opatch.ipm.CookedInventory.getInstance(CookedInventory.java:88)
                                        at oracle.opatch.ipm.IPMReadServices.getCookedInventory(IPMReadServices.java:179)
                                        at oracle.opatch.ipm.IPMReadServices.getInstalledPatches(IPMReadServices.java:1557)
                                        at oracle.opatch.opatchsdk.OPatchContext.getInstalledActivePatches(OPatchContext.java:930)
                                        at oracle.opatch.opatchsdk.OPatchAnalysisReport.<init>(OPatchAnalysisReport.java:110)
                                        at oracle.opatch.opatchsdk.OPatchTarget.NApplyReportForAllPrereqs(OPatchTarget.java:4023)
                                        at oracle.opatchauto.core.binary.action.OnlineAnalyzeAction.execute(OnlineAnalyzeAction.java:88)
                                        at oracle.opatchauto.core.binary.OPatchAutoBinary.NAnalyze(OPatchAutoBinary.java:346)
                                        at oracle.opatchauto.core.binary.OPatchAutoBinary.patch(OPatchAutoBinary.java:394)
                                        at oracle.opatchauto.core.binary.OPatchAutoBinary.apply(OPatchAutoBinary.java:369)
                                        at oracle.opatchauto.core.OPatchAutoCore.runOPatchAutoBinary(OPatchAutoCore.java:185)
                                        at oracle.opatchauto.core.OPatchAutoCore.main(OPatchAutoCore.java:75)
[2024-12-11 13:06:47] [INFO]        EXITING METHOD: NApplyReportForPrereqs(OPatchPatch[] patches,OPatchNApplyOptions options)

上面的报错,我猜想是 bug 引起的,mos 上面在 12 月 2 日上面有记录,苦于没有账号,无法解决,待后续网上资料出来后再来更新。

19c rac 补丁升级可以参考 该文章。步骤都是差不多的。

下面的章节都没在实验找那个验证,待后续更新。

6.3. 补丁检查:

opatch lsinventory

6.4. 回退补丁:

opatchauto rollback /soft/36916690 

7. 另外一个节点选择分开打

补丁冲突检查
 ps -ef | grep sqlplus //如果有sqlplus连进去都需要杀掉,两个节点都检查
su - root
chmod 660 /u01/app/oraInventory/ContentsXML/oui-patch.xml
chown grid:oinstall -R /u01/app/oraInventory/ContentsXML/oui-patch.xml
su - root
cd /
export PERL5LIB=/u01/app/19.3.0/grid/perl/lib
opatchauto apply /soft/35319490 -analyze
打补丁
 ps -ef | grep sqlplus
export PERL5LIB=/u01/app/19.3.0/grid/perl/lib




/oracle/app/19c/grid/OPatch/opatchauto apply /soft/35940989 -oh /oracle/app/19c/grid
/oracle/app/oracle/product/19c/db_1/OPatch/opatchauto apply /soft/35940989 -oh /oracle/app/oracle/product/19c/db_1

8. 将修改的sql文件应用到库中

一个节点执行就行
cd $ORACLE_HOME/OPatch
./datapatch -sanity_checks
./datapatch -verbose

9.回退补丁

su - root
cd /
/u01/app/19.3.0/grid/OPatch/opatchauto rollback /soft/35940989


实验中错误的记录:

[root@hfcwdb66 trace]# crsctl start crs
CRS-6706: Oracle Clusterware Release patch level ('160660429') does not match Software patch level ('1476904475'). Oracle Clusterware cannot be started.
CRS-4000: Command Start failed, or completed with errors.
[root@hfcwdb66 trace]# clscfg -localpatch
clscfg: EXISTING configuration version 0 detected.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
[root@hfcwdb66 trace]# /oracle/app/19c/grid/crs/install/rootcrs.sh -lock
Using configuration parameter file: /oracle/app/19c/grid/crs/install/crsconfig_p                                                                                   arams
The log of current session can be found at:
  /oracle/app/grid/crsdata/hfcwdb66/crsconfig/crslock_hfcwdb66_2024-12-10_08-19-                                                                                   31AM.log
2024/12/10 08:19:39 CLSRSC-329: Replacing Clusterware entries in file 'oracle-oh                                                                                   asd.service'
[root@hfcwdb66 trace]# crsctl start crs
CRS-4123: Oracle High Availability Services has been started.
[root@hfcwdb66 trace]# 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




Inventory load failed... OPatch cannot load inventory for the given Oracle Home.

这里从mos文档中查看的原因是找不到路径,因为解决方法是:

sh $ORACLE_HOME/oui/bin/attachHome.sh
Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 32698 MB    Passed
The inventory pointer is located at /etc/oraInst.loc
'AttachHome' was successful.
然后再用opatch lspatches 或者opatch lsinv进行查看就正常了。。。

网站公告

今日签到

点亮在社区的每一天
去签到