一、环境说明

 

节点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. Java 8 在使用内存爆了以后会发生什么?hs_err_pid 日志如何看?

    问题: Java进程被终止了,然后在应用的目录中发现了hs_err_pid日志. 运维反馈,结论是内存不够了 之前一直运行没有问题,没什么新增访问量,为什么会内存溢出,进程被killer掉类? 1.第 ...

  2. 学编程很盲目?不会代码?你可以来瞧瞧这本。是一本难得的Python 入门手册。

    Python语言及其应用,pdf高清免费下载地址 获取码:d414 内容简介  · · · · · · 本书介绍Python 语言的基础知识及其在各个领域的具体应用,基于最新版本3.x.书中首先介绍了 ...

  3. linux执行sh脚本报错:$’\r’: 未找到命令的解决

    原因: 命令直接从windows 复制过来导致的 解决:我是unbutu系统 安装dos2unix apt-get install dos2unix 执行dos2unix命令转换文件格式 dos2un ...

  4. 回归分析-2.X 简单线性回归

    2.1 简单线性回归模型 y与x之间的关系假设 \(y=\beta_0+\beta_1x+\varepsilon\) \(E(\varepsilon|x)=0\) \(Var(\varepsilon| ...

  5. 肖sir___整理 电商详解__拼团活动

    电商平台营销活动设计--拼团活动设计 2022-11-29 18:02 拼团是指一定数量的消费者在规定时间内,组织成团,并因人数优势而获取额外优惠或其他利益的一种形式 一.简介 拼团作为一种营销活动, ...

  6. 2022-05-11内部群每日三题-清辉PMP

    1.一个低概率/高影响的技术风险发生了. 项目经理该怎么做? A. 提交变更请求来调整成本和进度基准 B. 进行风险审查,评估其对项目可交付成果的影响 C. 实施风险登记册中概述的减轻计划 D. 查询 ...

  7. macOS 系统安装提示应用程序副本已损坏的解决方法

    错误预览: 操作方法,关闭Wi-Fi,网线(以修改时间为 2020 为例): 再次尝试安装吧...

  8. A调用B方法,@Transactional事务问题

    总结:方法A调用方法B:1.如果只有A加@Transactional注解:则AB在同一事务中,任意异常都回滚:2.如果只有B加@Transactional注解:AB方法为同一类,事务失效任意异常都不回 ...

  9. Docker 对于容器的增删查命令

    列出所有容器 ID 1 docker ps -aq 停止所有容器 1 docker stop $(docker ps -aq) 停止单个容器 1 docker stop 要停止的容器名 删除所有容器 ...

  10. JS form表单数据校验及失效情况下的解决方案

    如下图,当执行提交操作之前,我们需要对序号,要求完成时间,责任人,措施内容四项进行非空,字符长度及输入内容的类型进行校验. 直接贴样式代码 <div class="wrapper an ...