一、环境说明

 

节点1

节点2

IP

192.168.3.77

192.168.3.88

DB 版本

Oracle 19.6.0.0.0

Oracle 19.6.0.0.0

OS 主机名

oadb1

oadb2

OS 版本

RedHat 7.6

RedHat 7.6

数据库实例名

Jcoadb1

Jcoadb2

Opatch版本

12.2.0.1.21

12.2.0.1.21

Dbru 补丁包

p31064025_198000DBRU_Linux-x86-64.zip p31281355_190000_Linux-x86-64.zip

p31064025_198000DBRU_Linux-x86-64.zip p31281355_190000_Linux-x86-64.zip

资源下载

补丁安装与回退

补丁下载

$ opatch lsinventory

$ opatch version

OPatch Version: 12.2.0.1.18

通过MOS下载19.8 dbru

p31064025_198000DBRU_Linux-x86-64.zip

将这个压缩包上传至1节点

补丁安装前冲突检查

$[oracle@oadb1 backup]$ ls

31064025 PatchSearch.xml p31064025_198000DBRU_Linux-x86-64.zip

[oracle@oadb1 backup]$ cd 31064025

[oracle@oadb1 31064025]$ ls

README.txt etc files

[oracle@oadb131064025]$/u02/app/oracle/product/19.0.0/db_1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

Oracle Interim Patch Installer version 12.2.0.1.18

Copyright (c) 2020, Oracle Corporation. All rights reserved.

PREREQ session

Oracle Home : /u02/app/oracle/product/19.0.0/db_1

Central Inventory : /u01/app/oraInventory

from : /u02/app/oracle/product/19.0.0/db_1/oraInst.loc

OPatch version : 12.2.0.1.18

OUI version : 12.2.0.7.0

Log file location : /u02/app/oracle/product/19.0.0/db_1/cfgtoollogs/opatch/opatch2020-08-11_22-30-00PM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" failed.

The details are:

Interim patch 31064025 requires prerequisite patch(es) [31281355] which are not present in the Oracle Home.

Apply prerequisite patch(es) [31281355] before applying interim patch 31064025.

Summary of Conflict Analysis:

There are no patches that can be applied now.

OPatch succeeded.

检查的时候发现问题了,要先打这个31281355,又去MOS上下载有关这个的 p31281355_190000_Linux-x86-64.zip包,在31281355的readme里面发现,我的数据库的opatch的版本过低,还要下载opatch。

patch 6880880

安装opatch 没有留记录 ,可以参考mos上的

安装完成opatch后,重新检查版本冲突。

[oracle@oadb1 OPatch]$ ./opatch version

OPatch Version: 12.2.0.1.21

OPatch succeeded.

重新检查版本冲突

[oracle@oadb1 backup]$ cd 31281355

[oracle@oadb1 31281355]$ /u02/app/oracle/product/19.0.0/db_1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

Oracle Interim Patch Installer version 12.2.0.1.21

Copyright (c) 2020, Oracle Corporation. All rights reserved.

PREREQ session

Oracle Home : /u02/app/oracle/product/19.0.0/db_1

Central Inventory : /u01/app/oraInventory

from : /u02/app/oracle/product/19.0.0/db_1/oraInst.loc

OPatch version : 12.2.0.1.21

OUI version : 12.2.0.7.0

Log file location : /u02/app/oracle/product/19.0.0/db_1/cfgtoollogs/opatch/opatch2020-08-12_16-19-29PM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

补丁安装

以31281355补丁安装为例,根据补丁安装程序提供的README.txt,利用滚动式打补丁,具体安装步骤如下:

步骤

描述

 

停所有监听(根据每个节点查询结果调整)、杀进程:

$ su - grid

$ ps -ef|grep lsnr

$ lsnrctl stop listener

$ su - oracle

$ ps -ef|grep LOCAL=NO|grep -v grep|awk '{print $2}'|xargs kill -9

 

停实例:

SQL>shutdown immediate

 

停crs:

$ su - root

$ /u01/app/19.0.0/grid/bin/crsctl stop crs

 

补丁安装:

$ cd /backup/31281355

$ /u02/app/oracle/product/19.0.0/db_1/OPatch/opatch apply

 

检查验证:

/u02/app/oracle/product/19.0.0/db_1/OPatch/opatch lsinventory

 

起crs;

$ su - root

$ crsctl start crs

 

起实例;

$srvctl start database -d

 

查看每个节点实际状况调整:

$su - grid

$ /u01/app/19.0.0/grid/bin/crsctl status res -t

在二节点重复上面的步骤 都成功后再打 p31064025_198000DBRU_Linux-x86-64.zip

补丁回退

$ /u02/app/oracle/product/19.0.0/db_1/OPatch/opatch rollback -id 31281355

$ /u02/app/oracle/product/19.0.0/db_1/OPatch/opatch lsinventory

 

19c 滚动升级的更多相关文章

  1. NameNode HA滚动升级方案

    Hadoop 滚动升级非常方便,只需要在配置中增加一些选项就可以通过Hadoop自身的代码进行完成. 步骤: 1.首先到需要升级的NameService的Active NameNode上面,比如我们1 ...

  2. kubernetes云平台管理实战: 滚动升级秒级回滚(六)

    一.nginx保证有两个版本 1.查看当前容器运行nginx版本 [root@k8s-master ~]# kubectl get pod -o wide NAME READY STATUS REST ...

  3. kubernetes之deployment滚动升级

    参考:https://blog.51cto.com/wutengfei/2116663 创建和管理多个Pod--Deployment Deployment 为 Pod 和 ReplicaSet 提供了 ...

  4. k8s的Deployment 滚动升级

    首先定义一个Deployment,并创建它 apiVersion: apps/v1beta1 kind: Deployment metadata: name: house-live spec: rep ...

  5. Kubernetes Deployment滚动升级

    我们k8s集群使用的是1.7.7版本的,该版本中官方已经推荐使用Deployment代替Replication Controller(rc)了,Deployment继承了rc的全部功能外,还可以查看升 ...

  6. k8s滚动升级

    为了服务升级过程中提供可持续的不中断的服务,Kubernetes 提供了rolling update机制,具体配置需要修改对应服务的yaml文件 参数解析: minReadySeconds: 100 ...

  7. 不想停机?快使用Windows Server 2016滚动升级

    [TechTarget中国原创] Windows Server环境中的关键任务工作量总是密集的.工作量会主要集中在Hyper-V部署集群.硬件故障转移集群或者外来集群的顶部.集群中常用的表格都是基于F ...

  8. kafka线上滚动升级方案记录

    kafka升级方案 为什么进行kafka升级 一.修改unclean.leader.election.enabled默认值Kafka社区终于下定决心要把这个参数的默认值改成false,即不再允许出现u ...

  9. Kafka平滑滚动升级2.4.0指南

    今天测试了下kafka从2.0.0滚动升级至2.4.0,下面做一下记录.这个链接是Kafka官网对升级2.4.0的指南,可以参考  http://kafka.apache.org/24/documen ...

  10. 滴滴HBase大版本滚动升级之旅

    桔妹导读:滴滴HBase团队日前完成了0.98版本 -> 1.4.8版本滚动升级,用户无感知.新版本为我们带来了丰富的新特性,在性能.稳定性与易用性方便也均有很大提升.我们将整个升级过程中面临的 ...

随机推荐

  1. VMware-SSH协议的认证方式

    SSH1协议支持非对称密钥认证方式.口令认证,无法保证连接的完整性. SSH2协议支持SSH1协议支持的所有认证方式,增加数据保密性. 基于主机的认证方式[!不安全!] 当本地计算机收到执行远程命令的 ...

  2. conda创建和启动python虚拟环境

    conda与python虚拟环境 创建环境 conda create -n ENV_NAME python=3.9 激活环境 conda activate ENV_NAME 给虚拟环境安装包: con ...

  3. BDD测试和TDD测试

    BDD测试和TDD测试 TDD TDD是测试驱动开发(Test-Driven Development)的缩写,是敏捷开发中的一项测试技术,也是一种设计方法论.她的大概思路是:先针对每个功能点抽象出接口 ...

  4. iOS开发之从UIColo到十六进制

    今天开发中需要将UIColor转为十六进制字符串,记录下修改代码 UIColor *color = [UIColor blueColor]; const CGFloat* components = C ...

  5. python_类 对象 属性

    1, 类 (class) 类的概念表示某种对象的集合,用于表示某一种相同对象的模板.例如:人作为一个类 由这个"人"类定义出来的内容就是这个类定义出来的对象,类还拥有属性和功能,属 ...

  6. vux方法

    vuex 的备注 // vuex的公用数据放置处 state: { count: 0, }, // (方法) 在里面可以去修改state里面的数据(在这里面不能写异步操作) mutations: { ...

  7. getClassLoader

    类加载器(class loader)用来加载 Java 类到 Java 虚拟机中.一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编 ...

  8. C# RichTextBox跳转到指定行(文本行跳转和显示行跳转)

    文本行跳转: 对禁止自动换行(WordWrap属性为False)有效 1 /// <summary>跳到指定行</summary> 2 private void JumpToL ...

  9. (已解决)富文本编辑器:使用layui的layedit怎么回显存放在数据库里的富文本数据(包含有图片base64码)?

    1. 背景 我把富文本内容从后台导入到前端,回显在layui的layedit里面. 2. 步骤 直接在<textarea></textarea>中间进行赋值(我用的是模板赋值) ...

  10. vue+vant打包,vue+vant-ui小程序,微信支付

    微信JS支付代码_前端调用微信支付接口 其实参照官方文档一步一步操作不是很难,但很多人在签名这个地方就总是出现问题,因为文档中签名时使用的字段大小写时错误的....好坑啊!!然而PHP版本的代码官方有 ...