Oracle 19cRAC集群补丁升级

Oracle 19cRAC集群补丁升级

Oracle 19cRAC集群安装教程参考:https://blog.csdn.net/yushaoyyds/article/details/135791234?spm=1001.2014.3001.5502

文章目录

一、补丁包获取

链接:https://pan.baidu.com/s/1khH1gbq9hAXJ_ek6cLS8rg

提取码:w2dv

下载后将文件上传到虚拟机的/soft目录下

p6880880_190000_Linux-x86-64.zip (更新opatch)

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

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

查看两个节点之前的版本

powershell 复制代码
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的版本信息

powershell 复制代码
opatch version

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

再解压所有的补丁包

powershell 复制代码
#注意以下所有操作都是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"

再次查看opatch版本可以看到已经更新为19.2.0.1.41

powershell 复制代码
su - grid
opatch version

Oracle用户更新OPatch

查看一下OPatch的版本信息

powershell 复制代码
opatch version

powershell 复制代码
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的有效性

(两个节点都要操作)

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

oracle用户:

powershell 复制代码
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME 

grid用户:

powershell 复制代码
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME 


四、运行 OPatch 冲突检查

(两个节点都要操作,这里以节点一为例)

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

powershell 复制代码
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用户下)

powershell 复制代码
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下是否有足够的空间

(两个节点都要操作)

grid用户:

powershell 复制代码
vim /soft/patch_list_gihome.txt

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

oracle用户:

powershell 复制代码
vim /soft/patch_list_dbhome.txt

/soft/35940989/35943157
/soft/35940989/35967489

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


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

(两个节点都要操作,注意:一定要在两个节点执行完后之前的操作后再进行此操作,否则会报错)

应用修补程序补丁:

powershell 复制代码
su - root
cd /
/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989 -analyze 

补充:回滚修补程序(此操作不需要执行)

powershell 复制代码
rollback /soft/35940989 -analyze  ```

七、应用补丁

(节点1打完,再打节点2)

powershell 复制代码
su - root
chmod 777 /u01/app/oraInventory/ContentsXML/oui-patch.xml
cd /soft/35940989/35967489/files/bin/
chmod 777 *

节点二没有/u01/app/oraInventory/ContentsXML/oui-patch.xml文件,可以从节点一copy过去

powershell 复制代码
scp -r /u01/app/oraInventory/ContentsXML/oui-patch.xml root@p19c02:/u01/app/oraInventory/ContentsXML


关闭节点1的监听,数据库

powershell 复制代码
su - grid
lsnrctl stop
srvctl stop instance -d p19c0 -i p19c01

给节点1打补丁

powershell 复制代码
cd /soft/35940989/35967489/files/bin/
chmod 777 *
/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989 -oh /u01/app/19.3.0/grid

打开节点1的监听、数据库

powershell 复制代码
su - grid
lsnrctl start
srvctl start instance -d p19c0 -i p19c01

给节点二打补丁

#节点2,在打节点2之前,注意先把节点一的服务启动

su - root

cd /

#打补丁

/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989

#查看版本的命令

opatch lspatches

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

打开数据库

powershell 复制代码
sqlplus / as sysdba
startup
exit
cd $ORACLE_HOME/OPatch
./datapatch -sanity_checks
./datapatch -verbose

九、回退补丁

powershell 复制代码
su - root
cd /

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

可以看到已经回退到19.3.0.0版本

相关推荐
IT19954 小时前
Fail2Ban 防护 MySQL 实战|登录失败 3 次,IP 封禁 24 小时
数据库·mysql
夕除4 小时前
redis--IO 多路复用(select + poll)
数据库·sql
lzhdim8 小时前
100条常用SQL语句
数据库·sql·mysql·mybatis
天河归来8 小时前
从原始消息到业务数据:三层数据架构的设计与实践
数据库·数据仓库·架构
数据库小学妹9 小时前
金融数据库成本怎么算?五笔钱加一张TCO表
数据库·金融行业·数据库选型·国产化替代·tco·金融数据库
KaiwuDB9 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式
auspicious航9 小时前
PostgreSQL的备份与恢复
数据库·postgresql
这个DBA有点耶10 小时前
从 MySQL 到时序数据库:我帮朋友做迁移的完整记录
数据库·架构·dba
泡海椒10 小时前
深度解析JQuick-SQL AST到逻辑计划转换机制|分布式SQL原理
数据库·分布式·sql
心静财富之门10 小时前
Python 数据共享四种方案完整实例(同进程 / JSON / Redis / HTTP)
数据库·python·oracle