暂无图片
暂无图片
1
暂无图片
暂无图片
1
暂无图片

CentOS7.6环境Oracle 19c RAC集群应用19.12补丁

1019

Oracle 19c RAC安装升级补丁 操作系统: CentOS Linux release 7.6.1810 Oracle版本: 19.3.0 GIRU版本: 19.12.0.0.210720

一、OPatch检查和更新

注意:所有节点分别操作

grid用户

确保OPatch版本在12.2.0.1.25以上 $ opatch version

OPatch版本不符合需求,需要更新6880880补丁

将6880880补丁下载,并解压 $ unzip -o “6880880.zip”

切换至GI_HOME目录(GRID用户下的OPatch替换须用root用户操作)

cd $GI\_HOME

mv OPatch OPatch\_old

cp <6880880\_path> $GI\_HOME/.

chown -R grid.oinstall $GI\_HOME/OPatch ---注意不要覆盖掉$GI\_HOME的权限
复制

验证OPatch版本 $ opatch version

Oracle用户

$ opatch version
复制

OPatch版本不符合需求,需要更新6880880补丁

将6880880补丁下载,并解压 $ unzip -o “6880880.zip”

切换至ORACLE_HOME目录

cd $ORACLE\_HOME

mv OPatch OPatch\_old

cp <6880880\_path> $ORACLE\_HOME/.

chown -R oracle.oinstall $ORACLE\_HOME/OPatch ---注意不要覆盖掉
复制

$ORACLE_HOME的权限

验证OPatch版本 $ opatch version

二、验证Oracle Inventory的有效性

注意:所有节点都操作,以节点1为例。

GI HOME 和DB HOME 都需要验证,分别使用grid和oracle用户执行如下命令,确保返回SUCCESS。

grid用户

$ORACLE\_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE\_HOME 
复制

oracle用户

$ORACLE\_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE\_HOME
复制

满足需求(grid、db都要替换,db替换不需要用root用户,每个节点都需要替换)

三、运行 OPatch 冲突检查

注意:所有节点都操作

进行补丁验证(grid用户下)

cd /u01/app/19.3.0/grid/OPatch/ 

$ORACLE\_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/32895426/32904851 

$ORACLE\_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/32895426/32916816 

$ORACLE\_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/32895426/32915586 

$ORACLE\_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/32895426/32918050 

$ORACLE\_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/32895426/32585572 
复制

进行补丁验证(Oracle用户下)

$ORACLE\_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/32895426/32904851 

$ORACLE\_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/32895426/32916816 
复制

如果补丁验证通过会有以下提示:

五、运行opatch命令检查GI HOME下是否有足够的空间

注意:所有节点都操作

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:

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

% cat /tmp/patch\_list\_gihome.txt

/tmp/32895426/32904851 

/tmp/32895426/32916816 

/tmp/32895426/32915586 

/tmp/32895426/32918050 

/tmp/32895426/32585572 

复制

Run the opatch command to check if enough free space is available in the Grid Infrastructure Home:

% $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt For Database home, as home user:

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

% cat /tmp/patch\_list\_dbhome.txt

/tmp/32895426/32904851 

/tmp/32895426/32916816 

复制

Run opatch command to check if enough free space is available in the Database Home:

% $ORACLE\_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch\_list\_dbhome.txt

复制

六、补丁冲突检测与解决 The following commands check for conflicts in both the 12.1 GI home and the 12.1 DB homes.

In case you are applying the patch, run this command:

#/u01/app/19.3.0/grid/OPatch/opatchauto apply /tmp/32895426 -analyze 

复制

In case you are rolling back the patch, run this command:

#GRID\_HOME/OPatch/opatchauto rollback <UNZIPPED\_PATCH\_LOCATION>/32895426 -analyze

复制

在DB HOME的版本和GI HOME的版本一致的情况下,可以使用root用户执行opatchauto命令一次对GI和DB HOME进行patch操作。如果GI和DB HOME版本不同,可以使用opatchauto分别进行patch动作。 注意一点:这里的RU补丁,一定要用grid用户来解压缩,否则执行opatchauto的时候回报OPatch Prerequisite check “CheckApplicable” failed的错误。

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

使用opatchauto 对于RAC环境,可以使用OPatchAuto一键安装补丁(OPatchAuto 需要使用root用户) 配置环境变量

export ORACLE\_BASE=/u01/app/grid export 

ORACLE\_HOME=/u01/app/19.3.0/grid 

export PATH=/u01/app/19.3.0/grid/bin:/u01/app/19.3.0/grid/OPatch:$PATH 

或者vim .bash\_profile

export ORACLE\_BASE=/oracle/app/grid 

export ORACLE\_HOME=/oracle/app/19.0.0/grid 

export PATH=${ORACLE\_HOME}/bin:${ORACLE\_HOME}/OPatch:${PATH} 

复制

加载环境变量

source .bash_profile

安装补丁

opatchauto apply /tmp/32895426 —使用opatchauto不需要停机

第二个节点 首次安装会报错,安装补丁前检查一下/oracle/app/oraInventory/ContentsXML/路径下文件权限是否与1节点一致,不一致的话改成与一节点一致,可能就不会出错了

Start applying binary patch on home /u01/app/oracle/product/19.3.0/db_1 这一步oui-patch.xml文件会出现 可以文件出现就修改权限

\[grid@p19node1 ContentsXML\]$ pwd  
/u01/app/oraInventory/ContentsXML

复制

节点1正常情况

\[grid@p19node1 ContentsXML\]$ ll  
\-rw-rw---- 1 grid oinstall 300 Jan 25 15:57 comps.xml  
\-rw-rw---- 1 grid oinstall 557 Nov 29 12:42 inventory.xml  
\-rw-rw---- 1 grid oinstall 292 Jan 25 15:57 libs.xml  
\-rw-rw---- 1 grid oinstall 174 Jan 25 15:57 oui-patch.xml  

复制

节点2 权限不够的情况

\[grid@p19node2 ContentsXML\]$ ll  
total 16  
\-rw-rw---- 1 grid oinstall 300 Jan 25 16:36 comps.xml  
\-rw-rw---- 1 grid oinstall 557 Nov 29 12:46 inventory.xml  
\-rw-rw---- 1 grid oinstall 292 Jan 25 16:36 libs.xml  
\-rw-r--r-- 1 oracle oinstall 174 Jan 25 16:36 oui-patch.xml
复制

补丁安装后说明在数据库端执行以下指令

确保所有pdb是open状态

alter pluggable database all open;
复制

将修改后的 SQL 文件加载到数据库中

注意:在任一节点操作

cd $ORACLE\_HOME/OPatch 

./datapatch -verbose

cd $ORACLE\_HOME/rdbms/admin 

sqlplus /nolog 

SQL> CONNECT / AS SYSDBA 

SQL> @utlrp.sql

复制

八、验证升级版本

检查gi是否成功

$ORACLE\_HOME/OPatch/opatch lspatches 

复制

检查db是否成功

$ORACLE\_HOME/OPatch/opatch lspatches

复制

节点1验证 grid用户验证

\[grid@p19node1 ~\]$ $ORACLE\_HOME/bin/kfod op=patches

复制

List of Patches

32585572 

32904851 

32915586 

32916816 

32918050

\[grid@p19node1 ~\]$

\[grid@p19node1 ~\]$ $ORACLE\_HOME/bin/kfod op=patchlvl

Current Patch level

3998055650

\[grid@p19node1 ~\]$ $ORACLE\_HOME/OPatch/opatch lspatches 

32918050;TOMCAT RELEASE UPDATE 19.0.0.0.0 (32918050)  
32916816;OCW RELEASE UPDATE 19.12.0.0.0 (32916816)  
32915586;ACFS RELEASE UPDATE 19.12.0.0.0 (32915586)  
32904851;Database Release Update : 19.12.0.0.210720 (32904851)  
32585572;DBWLM RELEASE UPDATE 19.0.0.0.0 (32585572)

复制

oracle用户验证

\[oracle@p19node1 ~\]$ $ORACLE\_HOME/OPatch/opatch lspatches 

32916816;OCW RELEASE UPDATE 19.12.0.0.0 (32916816)  
32904851;Database Release Update : 19.12.0.0.210720 (32904851)  
  
OPatch succeeded.

\[oracle@p19node1 ~\]$ sqlplus / as sysdba

SQL\*Plus: Release 19.0.0.0.0 - Production on Tue Feb 22 11:15:09 2022 Version 19.12.0.0.0

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

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

SYS@db19c1>

SYS@db19c1>col action for a15 

SYS@db19c1>col status for a15 

SYS@db19c1>select patch\_id,patch\_type,action,status,target\_version from dba\_registry\_sqlpatch;

PATCH\_ID PATCH\_TYPE ACTION STATUS TARGET\_VERSION


复制

PATCH\_ID PATCH\_TYPE ACTION STATUS TARGET\_VERSION  
\---------- ---------- --------------- --------------- ---------------  
29517242 RU APPLY SUCCESS 19.3.0.0.0  
32904851 RU APPLY SUCCESS 19.12.0.0.0  

SYS@db19c1>

复制
最后修改时间:2022-02-23 12:07:03
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论

墨天轮福利君
暂无图片
3年前
评论
暂无图片 0
您好,您的文章已入选合格奖,10墨值奖励已经到账请查收! ❤️我们还会实时派发您的流量收益。
3年前
暂无图片 点赞
评论