Oracle 19C RAC集群补丁升级

文章目录

  • 一、补丁包概述
  • 二、OPatch检查和更新
    • Grid用户更新OPatch
    • Oracle用户更新OPatch
  • 三、验证Oracle Inventory的有效性
  • 四、运行 OPatch 冲突检查
  • 五、运行opatch命令检查GI HOME下是否有足够的空间
  • 六、补丁冲突检测与解决(修补程序)
  • 七、使用root用户应用补丁【节点1打完,再打节点2】
  • 八、将修改后的SQL文件驾照到数据库中
  • 九、回退补丁升级

一、补丁包概述

补丁升级包
链接: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 /softchown -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 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/780315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux - 第三节

改变用户类型 su 仅单纯的进行身份变化 依旧处于普通用户里面 su - 进行重新登录更改身份 退出用exit / ctrld su 用户名 改成成其他身份 对一条命令进行提权 sudo command r:可读 w:可写 x:可执行 -:对应的权限位置,没有权限 去掉所有权限 chmod u…

多视图三维重建-SFM简介

背景 掌握传统的多视图三维重建基本流程 总体流程 多视图三维重建的Pipieline如下图,总共分为四个步骤: 拍摄场景多视角的图像建立这些图像之间的联系(Data Association)SFM稀疏重建MVS稠密重建 Data Association 建立图像…

向开发板上移植ip工具:将ip工具移植到开发板系统中

一. 简介 前面一篇文章对 ip工具源码进行了交叉编译,生成了ip工具。文章如下: 向开发板上移植ip工具:交叉编译 ip工具-CSDN博客 本文对生成的 ip工具进行移植,即移植到开发板系统中,并确定是否可用。 二. 向开发板…

Nagios工具

一 nagios 相关概念 Nagios 是一款开源的免费网络监视工具,能有效监控 Windows、Linux 和 Unix 的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第 一时间通知网站运维人员,在状态恢复后…

顶顶通呼叫中心中间件-声音编码自适应配置方法(mod_cti基于FreeSWITCH)

顶顶通呼叫中心中间件-声音编码自适应配置方法讲解(mod_cti基于FreeSWITCH) 声音编码自适应介绍 声音编码自适应,通常在语音通信和音频处理领域中指的是一种能够根据信号特性和传输环境自动调整编码参数的技术。其目的是在不同的网络状况和音质要求下,…

5-规范设计(下):commit信息风格迥异、难以阅读,如何规范?

我们在做代码开发时,经常需要提交代码,提交代码时需要填写 Commit Message(提交说明),否则就不允许提交。 所以在 Go 项目开发时,一个好的 Commit Message 至关重要: 可以使自己或者其他开发人…

基于SSM的百货中心供应链管理系统设计与实现(论文+源码)_kaic

摘 要 社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。本次开发一套百货中心供应链管理系统有管理…

u盘插在电脑上显示要格式化磁盘怎么办

咨询:“U盘插入电脑,提示需要先格式化 才可使用。对于此种情况,在不需要格式化的情况下,是否可以恢复U盘内容?谢谢” 当我们尝试将U盘插入电脑时,有时会遇到一个令人困惑的提示:电脑要求我们格式…

Game Audio Programming

音频编程时游戏开发中最容易忽略,学习资源又是很少的环节。接下来,你将和我探索人耳的工作机制。 what is sound? 我们可以解释电视机是如何通过眼睛传递视觉信息的,但却往往无法对听觉信息做出类似的解释。 对声音的科学研究被称为声学&…

vlan间单臂路由

【项目实践4】 --vlan间单臂路由 一、实验背景 实验的目的是在一个有限的网络环境中实现VLAN间的通信。网络环境包括两个交换机和一个路由器,交换机之间通过Trunk链路相连,路由器则连接到这两个交换机的Trunk端口上。 二、案例分析 在网络工程中&#…

跃然纸上的灵感再现,手绘风格的开源绘图白板工具:Excalidraw

Excalidraw:即绘即思,直观呈现未来流程图!- 精选真开源,释放新价值。 概览 在撰写文章或构建演示案例的过程中,为了增强视觉表现力和信息传达深度,适时融入图表或图形显得至关重要。Excalidraw作为一款基于…

【生活】相机/图像各参数

文章目录 专业模式图片编辑-滤镜实体滤镜软件模拟滤镜 图片编辑-增强曝光亮度对比度饱和度自然饱和度色温色调高光阴影HSL色调分离褪色颗粒锐化晕影清晰度暗角 参考 专业模式 第一个参数WB是白平衡,调节色彩的。 第二个是对焦F,近距离拍摄物体&#xf…

酷体体育科技加入飞桨技术伙伴计划,共同打造“AI随身教练”体育分析新模式...

近日,陕西酷体体育科技有限公司正式加入飞桨技术伙伴计划,双方将共同努力在AI体育技术分析领域,创新打造“AI体育”新模式,助力体育训练、康复、人才选拔数智化转型。通过大模型技术赋能体育,持续挖掘AI技术在体育领域…

unbuntu mysql8.0新建用户及开启远程连接

MySQL更新到8.0以上版本后,在创建连接远程的用户的时候和之前5.x的版本有了很大的不同,不能使用原来同时创建用户和授权的命令。 以下是记录的MySQL8.0创建用户并授权的命令: 查看用户表: user mysql; select host,user,authen…

GT收发器第四篇_QPLL和CPLL工作原理

文章目录 前言一、CPLL工作原理二、QPLL工作原理 前言 每个channel的时钟结构如图: Transceiver内部时钟来源可以是QPLL也可以是自己的CPLL。其内部TX 和 RX 时钟分频器可以单独从 QPLL 或 CPLL 中选择时钟,允许 TX和 RX 数据通道使用不同的参考时钟输入…

Unity-通过AB包使用SpriteAtlas图集(基于unity2018)

项目遇到了一个性能问题,需要优化UI。其中就涉及UI的合批问题,其中自然而然就会关联到图集的概念。旧版图集,Legacy Atlas,还没有太研究。今天主要看一下SpriteAtlas怎么使用的。 因为我们项目资源工程和Runtime是分离的&#xf…

python实战之进阶篇(一)

定义类 1. 构造方法 2. 实例方法 3. 类方法 类似于Java中的静态方法, 使用方式: 类名.类方法 4. 私有变量 5. 私有方法 6. 使用属性set和get

【二叉树】Leetcode 104. 二叉树的最大深度【简单】

二叉树的最大深度 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例1 输入:root [3,9,20,null,null,15,7] 输出:3 解题思路 二叉树的最大深度可以通过递归方式来求解…

RockChip Android8.1 Settings

一:Settings一级菜单 1、AndroidManifest.xml 每个APP对应都有一个AndroidManifest.xml,从该文件入手分析最为合适。 packages/apps/Settings/AndroidManifest.xml 根据<category android:name="android.intent.category.LAUNCHER" />可找到当前当前APP a…

Java 扫描某包下所有类的注解并获得注解值

背景 &#xff1a; 需求 需要获取某个包下的所有的注解 并不是全部项目的 所以 只用针对某个包 进行扫描 获取注解 数据就行 百度了一圈 spring boot 没有自带的 获取注解集合的方法 在看 php 中 hyperf 框架 看到了 这个方法 就是因为 我需求是 php 和java 合体 微服务开发 …