19c 滚动升级
一、环境说明
|
节点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 滚动升级的更多相关文章
- NameNode HA滚动升级方案
Hadoop 滚动升级非常方便,只需要在配置中增加一些选项就可以通过Hadoop自身的代码进行完成. 步骤: 1.首先到需要升级的NameService的Active NameNode上面,比如我们1 ...
- kubernetes云平台管理实战: 滚动升级秒级回滚(六)
一.nginx保证有两个版本 1.查看当前容器运行nginx版本 [root@k8s-master ~]# kubectl get pod -o wide NAME READY STATUS REST ...
- kubernetes之deployment滚动升级
参考:https://blog.51cto.com/wutengfei/2116663 创建和管理多个Pod--Deployment Deployment 为 Pod 和 ReplicaSet 提供了 ...
- k8s的Deployment 滚动升级
首先定义一个Deployment,并创建它 apiVersion: apps/v1beta1 kind: Deployment metadata: name: house-live spec: rep ...
- Kubernetes Deployment滚动升级
我们k8s集群使用的是1.7.7版本的,该版本中官方已经推荐使用Deployment代替Replication Controller(rc)了,Deployment继承了rc的全部功能外,还可以查看升 ...
- k8s滚动升级
为了服务升级过程中提供可持续的不中断的服务,Kubernetes 提供了rolling update机制,具体配置需要修改对应服务的yaml文件 参数解析: minReadySeconds: 100 ...
- 不想停机?快使用Windows Server 2016滚动升级
[TechTarget中国原创] Windows Server环境中的关键任务工作量总是密集的.工作量会主要集中在Hyper-V部署集群.硬件故障转移集群或者外来集群的顶部.集群中常用的表格都是基于F ...
- kafka线上滚动升级方案记录
kafka升级方案 为什么进行kafka升级 一.修改unclean.leader.election.enabled默认值Kafka社区终于下定决心要把这个参数的默认值改成false,即不再允许出现u ...
- Kafka平滑滚动升级2.4.0指南
今天测试了下kafka从2.0.0滚动升级至2.4.0,下面做一下记录.这个链接是Kafka官网对升级2.4.0的指南,可以参考 http://kafka.apache.org/24/documen ...
- 滴滴HBase大版本滚动升级之旅
桔妹导读:滴滴HBase团队日前完成了0.98版本 -> 1.4.8版本滚动升级,用户无感知.新版本为我们带来了丰富的新特性,在性能.稳定性与易用性方便也均有很大提升.我们将整个升级过程中面临的 ...
随机推荐
- 【C学习笔记】day5-3 编写代码模拟三次密码输入的场景
3.编写代码模拟三次密码输入的场景. 最多能输入三次密码,密码正确,提示"登录成功",密码错误, 可以重新输入,最多输入三次.三次均错,则提示退出程序. #define _CRT_ ...
- linux 内存泄漏检测原理及实现
通过检测内存块是否被引用,而判断内存是否泄漏 参考链接:https://mp.weixin.qq.com/s/_WTpg2rnqIJDRKo-UcfeFA
- Asp.NET core/net 5接口返回实体含有long/int64的属性序列后最后几位变为0的解决
Asp.NET core /net 5接口返回实体含有long/int64的属性时,序列后最后几位变为0的. 不得不吐槽一下MS,这种事还有问题,NND. 解决方案在startup.cs中添加:opt ...
- HTML、CSS笔记(一)
垂直对齐图像文字 vertical-align:text-top; 图像的顶部与同一行中最高的图像或文本的顶部对齐 <img src="images/cake01.jpg" ...
- python使用pysimplegui简单制作一个exe程序
一.安装打包程序 控制台输入: pip install pysimplegui-exemaker -- 安装exe制作库 pip install PySimpleGUI -- 安装图形化界面编辑库 二 ...
- 阿里播放器Aliplayer遇到的所有坑
1,关于阿里播放器使用过的几种播放方式 url (source) ① 要在创建播放器前要拿到资源否则会报错 ② 在有不同清晰度的资源时 直接调用 player.loadByUrl() 方法会报错 官 ...
- linux磁盘读写速度测试
磁盘读写速度标准 1.机械硬盘读写速度平均60---80M每秒. 2.固态硬盘不同品牌型号之间,平均大约在150---300M每秒. 3.5400转的笔记本硬盘:50-90MB每秒. 4.7200转的 ...
- Qt项目移植
从Qt低版本到高版本 一开始使用的是Qt Creator 4.6.2(Enterprise) 后面下载了Qt Creator 4.13.3(Enterprise) 一开始在Qt Creator 4.1 ...
- 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 ...
- pytorch的三种量化方式详解
pytorch的三种量化方式详解 这篇博客详细介绍了pytorch官方教程提到的三种量化方式的原理,详细解释了三种量化方式的区别: 1. 静态量化 :torch.quantize_per_tensor ...
