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

相关推荐
松涛和鸣14 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
likangbinlxa14 小时前
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
数据库·sql
r i c k15 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦15 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL16 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·16 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德16 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫16 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i16 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.17 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql