Oracle 19C RAC集群补丁升级

一、补丁包概述

补丁升级包
链接:https://pan.baidu.com/s/16uTAePiCRNdCOiLn1zc48A?pwd=k3w0
提取码:k3w0

将以下补丁包上传到/soft下
p6880880_190000_Linux-x86-64.zip (更新opatch)

p35940989_190000_Linux-x86-64.zip(GI包,grid软件升级包)

p35943157_190000_Linux-x86-64.zip(DB包,数据库升级包)

这里也可以先查看一下打补丁包之前的版本19.3

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

在这里插入图片描述

二、OPatch检查和更新

注意:所有节点分别操作

Grid用户更新OPatch

查看一下OPatch的版本信息

opatch version

在这里插入图片描述
在这里插入图片描述

将6880880补丁下载,并解压 $ unzip -o “6880880.zip”
在这里我们直接一次性解压所有的补丁包

# 注意以下所有操作都是root用户执行的,但是进行查询版本的时候需要进入配置过环境变量的用户
su - root
cd /soft

chown -R grid:oinstall /soft
su - grid -c "unzip -q -o /soft/p6880880_190000_Linux-x86-64.zip -d /u01/app/19.3.0/grid"
su - grid -c "unzip -q /soft/p35940989_190000_Linux-x86-64.zip -d /soft"
chown -R oracle:oinstall /soft
su - oracle -c "unzip -q -o /soft/p35943157_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0/db"
su - grid
opatch version

在这里插入图片描述
在这里插入图片描述

Oracle用户更新OPatch

查看一下OPatch的版本信息

opatch version

在这里插入图片描述
在这里插入图片描述

su - oracle -c "unzip -q -o /soft/p6880880_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0/db"
su - oracle
opatch version

在这里插入图片描述
在这里插入图片描述

三、验证Oracle Inventory的有效性

在这里插入图片描述

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

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

$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME 

在这里插入图片描述
在这里插入图片描述
grid用户:
这一步时间会比oracle用户更长一点,耐心等待即可

$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME 

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

四、运行 OPatch 冲突检查

在这里插入图片描述
在这里插入图片描述

注意:所有节点都操作

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

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

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/33575402

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35943157

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35956421

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35967489

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/36115038

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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

su - oracle
cd /u01/app/19.3.0/grid/OPatch

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35943157

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35967489

在这里插入图片描述
在这里插入图片描述

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

注意:所有节点都操作

在这里插入图片描述

tip:在创建文件的时候可能回遇到权限问题,可以先使用root用户创建修改内容,然后再切换到相应的用户执行检查命令

grid用户:

vim /soft/patch_list_gihome.txt

/soft/35940989/35943157
/soft/35940989/35967489
/soft/35940989/35956421
/soft/35940989/36115038
/soft/35940989/33575402

在这里插入图片描述

$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /soft/patch_list_gihome.txt

在这里插入图片描述
在这里插入图片描述

oracle用户:

vim /soft/patch_list_dbhome.txt

/soft/35940989/35943157
/soft/35940989/35967489
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /soft/patch_list_dbhome.txt

在这里插入图片描述
在这里插入图片描述

六、补丁冲突检测与解决(修补程序)

在这里插入图片描述
应用修补程序补丁:

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

如果要回滚修补程序,请运行以下命令(现在是安装过程,不用执行,了解就行):
rollback

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

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

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

在这里插入图片描述

  • 这里节点1和节点2都需要执行,否则在执行过程会报错
su - root
# 下面这个文件节点2可能没有,建议从节点1copy在授权 scp -r /u01/app/oraInventory/ContentsXML/oui-patch.xml root@p19c02:/u01/app/oraInventory/ContentsXML
chmod 777 /u01/app/oraInventory/ContentsXML/oui-patch.xml
cd /soft/35940989/35967489/files/bin/
chmod 777 *
  • 关闭监听,数据库(对哪个节点打补丁就关哪个,以下代码是关闭节点1的)
su - grid
lsnrctl stop
srvctl stop instance -d p19c0 -i p19c01
  • 以下是启动监听,数据库的代码(记得节点1打补丁完成之后,在打节点2的补丁之前要启动)
su - grid
lsnrctl start
srvctl start instance -d p19c0 -i p19c01
  • 以下是GI和DB一起打补丁的步骤(如果运行内存比较小的话可以参考下面分开打的步骤)(我是通过这种方法成功的)
# 节点1
su - root
cd /
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 
# 打补丁
/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989
或
opatchauto apply /soft/35940989 

# 节点2,在打节点2之前,注意先把节点一的服务启动
su - root
cd /
# 打补丁
/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989
或
opatchauto apply /soft/35940989 

# 查看版本的命令
opatch lspatches 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 以下是GI和DB分开打的步骤
# 以下均以root用户在根目录下执行
# 以下是结点1的

/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989 -oh /u01/app/19.3.0/grid
# 这里如果报错的话查看报错日志,我这里也报错了,日志主要显示没有读写权限,解决办法如下:
# 1、重启虚拟机(因为这里报错的话你的grid集群就不能使用了,需要重启修复)
# 2、cd /soft/35940989/35967489/files/bin/
# 3、chmod 777 *

/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989 -oh /u01/app/oracle/product/19.3.0/db
# 启动结点1的数据库
/u01/app/oracle/product/19.3.0/db/bin/srvctl start instance –d p19c0 -n p19c01

# 以下是结点2的
/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989 -oh /u01/app/19.3.0/grid
# 启动结点2的数据库
/u01/app/oracle/product/19.3.0/db/bin/srvctl start instance –d p19c0 -n p19c02

在这里插入图片描述
在这里插入图片描述

八、将修改后的SQL文件驾照到数据库中

在这里插入图片描述

sqlplus / nolog
Connect / as sysdba
startup
quit
cd $ORACLE_HOME/OPatch
./datapatch -sanity_checks
./datapatch -verbose

在这里插入图片描述
在这里插入图片描述

九、回退补丁升级

su - root
cd /

/u01/app/19.3.0/grid/OPatch/opatchauto rollback /soft/35940989
或
opatchauto rollback /soft/35940989 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
完结。
在这里插入图片描述

  • 15
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会编程的喵星人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值