一、环境说明

 

节点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. 【C学习笔记】day5-3 编写代码模拟三次密码输入的场景

    3.编写代码模拟三次密码输入的场景. 最多能输入三次密码,密码正确,提示"登录成功",密码错误, 可以重新输入,最多输入三次.三次均错,则提示退出程序. #define _CRT_ ...

  2. linux 内存泄漏检测原理及实现

    通过检测内存块是否被引用,而判断内存是否泄漏 参考链接:https://mp.weixin.qq.com/s/_WTpg2rnqIJDRKo-UcfeFA

  3. Asp.NET core/net 5接口返回实体含有long/int64的属性序列后最后几位变为0的解决

    Asp.NET core /net 5接口返回实体含有long/int64的属性时,序列后最后几位变为0的. 不得不吐槽一下MS,这种事还有问题,NND. 解决方案在startup.cs中添加:opt ...

  4. HTML、CSS笔记(一)

    垂直对齐图像文字 vertical-align:text-top; 图像的顶部与同一行中最高的图像或文本的顶部对齐 <img src="images/cake01.jpg" ...

  5. python使用pysimplegui简单制作一个exe程序

    一.安装打包程序 控制台输入: pip install pysimplegui-exemaker -- 安装exe制作库 pip install PySimpleGUI -- 安装图形化界面编辑库 二 ...

  6. 阿里播放器Aliplayer遇到的所有坑

    1,关于阿里播放器使用过的几种播放方式 url (source) ① 要在创建播放器前要拿到资源否则会报错 ② 在有不同清晰度的资源时  直接调用 player.loadByUrl() 方法会报错 官 ...

  7. linux磁盘读写速度测试

    磁盘读写速度标准 1.机械硬盘读写速度平均60---80M每秒. 2.固态硬盘不同品牌型号之间,平均大约在150---300M每秒. 3.5400转的笔记本硬盘:50-90MB每秒. 4.7200转的 ...

  8. Qt项目移植

    从Qt低版本到高版本 一开始使用的是Qt Creator 4.6.2(Enterprise) 后面下载了Qt Creator 4.13.3(Enterprise) 一开始在Qt Creator 4.1 ...

  9. Tomcat启动报A fatal error has been detected by the Java Runtime Environment

    # # A fatal error has been detected by the Java Runtime Environment: # #  SIGSEGV (0xb) at pc=0x0000 ...

  10. pytorch的三种量化方式详解

    pytorch的三种量化方式详解 这篇博客详细介绍了pytorch官方教程提到的三种量化方式的原理,详细解释了三种量化方式的区别: 1. 静态量化 :torch.quantize_per_tensor ...