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版本

相关推荐
ㄟ留恋さ寂寞几秒前
JavaScript中箭头函数在大括号省略时的隐式返回机制
jvm·数据库·python
Chockmans2 分钟前
春秋云境CVE-2022-32991(手注和sqlmap)保姆级教学
数据库·安全·web安全·网络安全·oracle·春秋云境·cve-2022-32991
上海蓝色星球8 分钟前
从工具到资产:CER V2.0 造价机器人如何重构企业核心竞争力
java·数据库·mysql
i220818 Faiz Ul13 分钟前
高校教务|教务管理|基于springboot+vue的高校教务管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·高校教务系统
SelectDB技术团队14 分钟前
强行拍平?全表扫描? AI Agent 动态 JSON 的观测分析
数据库·人工智能·json·apache doris
SL-staff15 分钟前
JVS低代码动态建表原理:从模型配置到数据库DDL的生成逻辑
数据库·低代码·二次开发·源码解析·jvs·动态建表·ddl生成
van久17 分钟前
Day30:Redis 缓存策略 + 菜单实战缓存 + 三大缓存问题(穿透 / 击穿 / 雪崩)
数据库·redis·缓存
2501_9012005318 分钟前
Laravel 大批量数据填充时的内存泄漏与性能优化指南
jvm·数据库·python
ID_1800790547319 分钟前
除了JSON,淘宝店铺商品API接口还支持哪些数据格式?
android·数据库
newnazi21 分钟前
RedHart安装Oracle 12C
数据库·oracle