oracle 19C RAC打补丁到19.26

embedded/2025/2/2 7:57:23/

oracle 19CRAC打补丁到19.26

本文只保留简介命令和每个命令大概的用时,方便大家直接copy使用,并了解每个命令的预期时间,减少命令执行期的等待焦虑。

1.本次所需的补丁如下

p6880880_190000_Linux-x86-64.zip (.43的opatch)
p37102264_190000_Linux-x86-64.zip(OJVM)
p37260974_190000_Linux-x86-64.zip(DB)
p37257886_190000_Linux-x86-64.zip(GI)

2.更新grid opatch 两个节点 root用户执行

mv /u01/app/19.3.0.0/grid/OPatch /u01/app/19.3.0.0/grid/OPatch.bak --备份opatch
unzip -q p6880880_190000_Linux-x86-64.zip -d /u01/app/19.3.0.0/grid/ --更新opatch
chmod -R 755 /u01/app/19.3.0.0/grid/OPatch
chown -R grid:oinstall /u01/app/19.3.0.0/grid/OPatch
[grid@hostname ~]$ opatch version --更新后检查opatch的版本
OPatch Version: 12.2.0.1.43
OPatch succeeded.
[grid@hostname ~]$

3.更新oracle opatch

两个节点 root执行
mv /u01/app/oracle/product/19.3.0.0/db_1/OPatch /u01/app/oracle/product/19.3.0.0/db_1/OPatch.bak --备份opatch
unzip -q p6880880_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0.0/db_1/
chmod -R 755 /u01/app/oracle/product/19.3.0.0/db_1/OPatch
chown -R oracle:oinstall /u01/app/oracle/product/19.3.0.0/db_1/OPatch

4.解压patch包 两个节点 root执行

unzip p37257886_190000_Linux-x86-64.zip -d /u01/app/
unzip p37102264_190000_Linux-x86-64.zip -d /u01/app/
chown -R grid:oinstall /u01/app/37257886
chmod -R 755  /u01/app/37257886
chown -R grid:oinstall /u01/app/37102264
chmod -R 755  /u01/app/37102264

5.兼容性检查

OPatch兼容性检查 两个节点 grid用户
/u01/app/19.3.0.0/grid/OPatch/opatch lsinventory -detail -oh /u01/app/19.3.0.0/grid/

6.补丁冲突检查

📢 注意:db1和db2都执行
子目录的五个patch和OJVM分别在grid和oracle用户下分别执行检查
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/app/37257886/36758186
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/app/37257886/37260974
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/app/37257886/37266638
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/app/37257886/37268031
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/app/37257886/37461387
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/app/37102264

7.空间检查

📢 注意:db1和db2都执行
Grid 执行
vi /tmp/patch_list_gihome.txt #新建文件加入需要坚持的patch no
/u01/app/37257886/36758186
/u01/app/37257886/37260974
/u01/app/37257886/37266638
/u01/app/37257886/37268031
/u01/app/37257886/37461387
/u01/app/37102264
两个节点 grid用户 oracle用户分别执行
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt

8.补丁分析检查

Root 执行
/u01/app/19.3.0.0/grid/OPatch/opatchauto apply /u01/app/37257886 -analyze
 ---大约3分钟
/u01/app/19.3.0.0/grid/OPatch/opatchauto apply /u01/app/37102264 -analyze
 ---大约7分钟

9.grid 升级

## roo用户两个节点都要分别执行 --grid upgrade
/u01/app/19.3.0.0/grid/OPatch/opatchauto apply /u01/app/37102264 -oh /u01/app/19.3.0.0/grid 
---约7分钟(OJVM)
/u01/app/19.3.0.0/grid/OPatch/opatchauto apply /u01/app/37257886 -oh /u01/app/19.3.0.0/grid 
---约13分钟(GI)
opatch lspatches
[grid@hostname ~]$ opatch lspatches --升级后的状态
37461387;TOMCAT RELEASE UPDATE 19.0.0.0.0 (37461387)
37268031;OCW RELEASE UPDATE 19.26.0.0.0 (37268031)
37266638;ACFS RELEASE UPDATE 19.26.0.0.0 (37266638)
37260974;Database Release Update : 19.26.0.0.250121 (37260974)
36758186;DBWLM RELEASE UPDATE 19.0.0.0.0 (36758186)
37102264;OJVM RELEASE UPDATE: 19.26.0.0.250121 (37102264)

10.oracle 升级

## root两个节点都要分别执行 --oracle upgrade
oracle 升级前需要关闭数据库 --如果不关闭会有报错opatch失败
srvctl stop database -d dbname
/u01/app/oracle/product/19.3.0.0/db_1/OPatch/opatchauto apply /u01/app/37257886/37260974 -oh /u01/app/oracle/product/19.3.0.0/db_1 
约6.5分钟

11.升级后动作

仅节点1
opatch lspatches
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> alter system set cluster_database=false scope=spfile; --设置接非集群
srvctl stop db -d dbname
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP UPGRADE
##以upgrade模式启动是pdb是无法open的,需要关闭后正常startup后才可以open
SQL> SHUTDOWN
SQL> STARTUP
SQL> alter system set cluster_database=true scope=spfile sid='*'; ##改回集群数据库
SQL> SHUTDOWN
srvctl start database -d dbname #启动所有节点数据库
SQL>alter pluggable database all open;
如果使用了pdb执行前确认两个节点pdb都打开,如果pdb没有打开 可能会出现cdb和pdb RU不一致,导致pdb受限。
[oracle@db1 ~]$ datapatch -verbose 
#确认都pdb 都open后执行datapatch 预计35分钟
如果pdb没有更新 可以使用这个命令强制更新ru
datapatch -verbose -apply ru_id -force –pdbs pdbname
--编译无效对象
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

12 .完成后检查patch情况

set linesize 180
col action for a15
col status for a15
select PATCH_ID,PATCH_TYPE,ACTION,STATUS,TARGET_VERSION from dba_registry_sqlpatch;


http://www.ppmy.cn/embedded/158851.html

相关文章

linux 扩容

tmpfs tmpfs 82M 0 82M 0% /run/user/1002 tmpfs tmpfs 82M 0 82M 0% /run/user/0 [输入命令]# fdisk -lu Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors Units: sectors of 1 * 512 512 bytes Sector size (logi…

【MySQL】数据类型与表约束

目录 数据类型分类 数值类型 tinyint类型 bit类型 小数类型 字符串类型 日期和时间类型 enum和set 表的约束 空属性 默认值 列描述 zerofill 主键 自增长 唯一键 外键 数据类型分类 数值类型 tinyint类型 MySQL中,整形可以是有符号和无符号的&…

Spring WebFlux揭秘:下一代响应式编程框架,与Spring MVC有何不同?

Spring WebFlux和Spring MVC都是Spring家族里的成员,它们都能帮助我们开发Web应用,但工作方式有所不同。 可以把Spring MVC想象成一个服务员,每次有客人(请求)来,它就会专门找一个服务员(线程&a…

STM32 TIM定时器配置

TIM简介 TIM(Timer)定时器 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断 16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时 不仅具备基本的定时中断功能&#xff…

设计转换Apache Hive的HQL语句为Snowflake SQL语句的Python程序方法

首先,根据以下各类HQL语句的基本实例和官方文档记录的这些命令语句各种参数设置,得到各种HQL语句的完整实例,然后在Snowflake的官方文档找到它们对应的Snowflake SQL语句,建立起对应的关系表。在这个过程中要注意HQL语句和Snowfla…

安卓(android)读取手机通讯录【Android移动开发基础案例教程(第2版)黑马程序员】

一、实验目的(如果代码有错漏,可在代码地址查看) 1.熟悉内容提供者(Content Provider)的概念和作用。 2.掌握内容提供者的创建和使用方法。 4.掌握内容URI的结构和用途。 二、实验条件 1.熟悉内容提供者的工作原理。 2.掌握内容提供者访问其…

kamailio-ACC、ACC_JSON 和 ACC_RADIUS 的区别

ACC、ACC_JSON 和 ACC_RADIUS 的区别 ACC、ACC_JSON 和 ACC_RADIUS 都是 Kamailio 中用于计费(Accounting)的模块,但它们的功能和后端支持有所不同。以下是它们的区别及案例说明: 1. ACC 模块 功能:ACC 模块是 Kamai…

深度学习练手小例子——cifar10数据集分类问题

CIFAR-10 是一个经典的计算机视觉数据集,广泛用于图像分类任务。它包含 10 个类别的 60,000 张彩色图像,每张图像的大小是 32x32 像素。数据集被分为 50,000 张训练图像和 10,000 张测试图像。每个类别包含 6,000 张图像,具体类别包括&#x…