当前位置: 首页 > news >正文

数据库管理-第七十六期 如何升级19c RAC(20230516)

数据库管理 2023-05-16

  • 第七十六期 如何升级19c RAC
    • 1 回头处理
    • 2 升级AHF
    • 3 升级GI及DB
      • 3.1 拷贝所需文件
      • 3.2 升级OPatch
      • 3.3 升级GI与DB
      • 3.4 应用SQL变更
    • 4 升级OJVM
      • 4.1 解压补丁
      • 4.2执行补丁冲突检查:
      • 4.3 升级OJVM
      • 4.4 应用SQL变更
    • 5 最终验证
    • 总结

第七十六期 如何升级19c RAC

上一期展示了如何安装19c RAC,将继续展现RAC版本升级等相关操作。

1 回头处理

因为操作系统不是我装的,所以在上一期其实有个问题是忘记创建/u01的逻辑卷并单独挂载,因此今天第一件事情是处理这件事情:

/u01/app/19.0.0/grid/bin/tfactl stop
/u01/app/19.0.0/grid/bin/crsctl stop crsfdisk /dev/sda #以实际磁盘为准将剩余空间划成一块分区
partprobe /dev/sdapvcreate /dev/sda4
vgcreate u01 /dev/sda4
lvcreate -l 100%VG -n u01 u01
mkfs.xfs /dev/mapper/u01-u01mkdir /a01
mount /dev/mapper/u01-u01 /a01
mv /u01/* /a01
umount /a01
mount /dev/mapper/u01-u01 /u01vim /etc/fstab #添加以下内容
/dev/mapper/u01-u01 /u01 xfs defaults 0 0/u01/app/19.0.0/grid/bin/crsctl start crs
/u01/app/19.0.0/grid/bin/tfactl start

检查:
在这里插入图片描述
在这里插入图片描述

2 升级AHF

定期升级AHF还是很有必要的,特别是能开SR的。

mkdir /u01/ahf
mv AHF-LINUX_v23.4.0.zip /u01/ahf
cd /u01/ahf
unzip AHF-LINUX_v23.4.0.zip
./ahf_setup

进行以下操作:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上操作仅在一个节点执行即可,建议节点间root用户也配置SSH互信。
检查:
在这里插入图片描述

3 升级GI及DB

  • 从12c开始,对于安装了GI和DB的实例来说,可以使用root通过opatchauto命令同时升级GI和DB。(在补丁搜索是选择System Patch)
    在这里插入图片描述
  • 对于RAC集群来说可以通过rolling方式,一个实例一个实例升级GI和DB,opatchauto会避免出现两个实例同时升级。
  • 如果是ADG环境,需要先在备库安装升级补丁再在主库升级。
  • 执行OJVM升级仍需要关闭数据库实例,可分实例执行操作。

3.1 拷贝所需文件

mkdir /u01/1916
mv p34086870_190000_Linux-x86-64.zip /u01/1916 #OJVM 19.16
mv p6880880_190000_Linux-x86-64.zip /u01/1916 #OPatch
mv p34130714_190000_Linux-x86-64.zip /u01/1916 #System Patch 19.16
chmod 777 -R /u01/1916

3.2 升级OPatch

在进行补丁升级之前,需要先对OPatch补丁工具进行升级,需要升级版本以及下载地址详见补丁中的README.html:
在这里插入图片描述
需要替换原有的OPatch:

mv /u01/app/19.0.0/grid/OPatch /home/grid/OPatch_bak_19.3
mv /u01/app/oracle/product/19.0.0/dbhome_1/OPatch /home/oracle/OPatch_bak_19.3su - grid
cd /u01/1916
unzip p6880880_190000_Linux-x86-64.zip
su - root
mv /u01/1916/OPatch /u01/app/19.0.0/gridsu - oracle
cd /u01/1916
unzip p6880880_190000_Linux-x86-64.zip
mv OPatch /u01/app/oracle/product/19.0.0/dbhome_1/

检查:
在这里插入图片描述
在这里插入图片描述

3.3 升级GI与DB

  • 解压补丁包:
su - grid
cd /u01/1916
unzip p34130714_190000_Linux-x86-64.zip
  • 执行补丁冲突检查:
su - grid
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/1916/34130714/34133642
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/1916/34130714/34160635
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/1916/34130714/34139601
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/1916/34130714/34318175
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/1916/34130714/33575402su - oracle
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/1916/34130714/34133642
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/1916/34130714/34160635

所有检查passed即可:
在这里插入图片描述

  • 分实例轮流执行以下操作:
su -
cd /u01/1916/34130714
/u01/app/19.0.0/grid/OPatch/opatchauto apply ./#如出现异常需要根据日志处理后执行:
/u01/app/19.0.0/grid/OPatch/opatchauto resume
#本次升级过程中,第一个节点GI补丁应用失败,是因为GI家目录下部分文件仍然存在调用现象,经排查是安装进程遗留仍在调用部分lib文件。因此建议新装RAC集群所有服务器节点都重启一次。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
整个升级流程其实是再次进行补丁检查,确认无问题后关闭数据库与CRS,然后开始按顺序开始DB升级、GI升级,然后启动CRS(包含数据库),最后执行补丁包含的SQL patch。这里一个节点的升级时间大概是10-20分钟的样子,不分节点因为需要执行SQL patch,因此时间会加长不少(本次超过了40分钟)。

3.4 应用SQL变更

在所有节点完成上述升级操作后,仅需在一个节点执行以下命令,DG环境该操作仅需在主库执行:

sqlplus / as sysdba
SQL> alter pluggable database all open;
SQL> exit;
cd $ORACLE_HOME/OPatch
./datapatch -verbose

该操作虽然在README文档中要求执行,但是在日志中该语句是在最后一步执行了的:
在这里插入图片描述

由于本次还要升级OJVM,该操作放到OJVM补丁升级完成后执行。

4 升级OJVM

分实例轮使用oracle用户流执行以下操作:

4.1 解压补丁

cd /u01/1916
unzip p34086870_190000_Linux-x86-64.zip

4.2执行补丁冲突检查:

cd /u01/1916/34086870
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

在这里插入图片描述

4.3 升级OJVM

sqlplus / as sysdba
SQL> shutdown immediate
SQL> exit;
cd /u01/1916/34086870
$ORACLE_HOME/OPatch/opatch apply

在这里插入图片描述
在这里插入图片描述
升级OJVM的操作就比较快了。

sqlplus / as sysdba
SQL> startup
SQL> exit;

4.4 应用SQL变更

在所有节点完成上述升级操作后,仅需在一个节点执行以下命令,DG环境该操作仅需在主库执行:

sqlplus / as sysdba
SQL> alter pluggable database all open;
SQL> exit;
cd $ORACLE_HOME/OPatch
./datapatch -verbose

在这里插入图片描述
这里也可以看到DBRU的SQL变更是已经应用了的。

5 最终验证

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此升级完全结束。

总结

本文不包含one-off patch,需要升级此类补丁请阅读README文件。
后面还有Exadata X9M与这套库之间搭建ADG的操作,也会形成文档,预计要等一段时间了。
老规矩,知道写了些啥。

相关文章:

数据库管理-第七十六期 如何升级19c RAC(20230516)

数据库管理 2023-05-16 第七十六期 如何升级19c RAC1 回头处理2 升级AHF3 升级GI及DB3.1 拷贝所需文件3.2 升级OPatch3.3 升级GI与DB3.4 应用SQL变更 4 升级OJVM4.1 解压补丁4.2执行补丁冲突检查:4.3 升级OJVM4.4 应用SQL变更 5 最终验证总结 第七十六期 如何升级19…...

组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python)

组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python) 目录 组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 ARIMA-CNN-LSTM是一种结合了传统时间序列模型和深度学习模型的…...

实验四 面向对象分析与设计——UML类图与时序图

一、实验目的: 掌握面向对象分析中静态结构模型与动态行为模型的基本思想。学会识别系统中的类、类的属性和操作以及类之间的关系,掌握UML类图的绘制方法。了解时序图的作用和组成元素,掌握UML时序图的绘制方法。 二、实验仪器及实验环境&a…...

最短路径问题

如图,设定源点为D,终点为A,则D到A的最短路径是多少? 算法思路: 第一步,从源点D出发,此时能到达的选择是C和E,我们根据路径长度选择最少的作为下一个节点,于是选择C&…...

国内有哪些SAAS软件?SAAS软件有哪些优点?

国内有哪些SAAS软件?SAAS软件有哪些优点?不请自来答一下,通过SaaS软件与传统软件的对比来详细讲下SaaS软件有哪些优点? 配合以下内容食用更佳: 关于概念——深度详解什么是SaaS(软件即服务)关…...

分享两组不同的3D VR卡片

最近某音上出现了很多VR视频,转动手机可以看到手机界面未显示出来的场景。这种事情我觉得我们也可以做到。 所以两种不同的3D VR卡片来了: 第一种是横向或上下可以拖动极大的距离。卡片上的信息会随着拖动移动,但不会显示更多的信息&#x…...

外贸人如何精准开发客户?Facebook开发客户全攻略

现在做跨境的都了解的一个社媒平台就是Facebook了,因为很多人都会拿Facebook来开发客户,忙里偷闲,今天东哥就来聊聊用Facebook开发客户的一些心得。 用Facebook开发客户的心得 1、利用关键词搜索 使用行业相关的关键词、产品特定的关键词、相…...

一、Git安装(Git+TortoiseGit图形化)

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式…...

mysql死锁,如何产生?如何发现?如何处理?

1 产生死锁 就是资源互斥 例子如下 好的,请参考以下 SQL 语句来创建 base_account_item 表和向表中插入一些数据: CREATE TABLE base_account_item (id INT(11) NOT NULL,account_item_name VARCHAR(50) NOT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEF…...

YOLO V1-V3 简单介绍

目录 1. YOLO 2. YOLO V1 3. YOLO V2 4. YOLO V3 5. YOLO V3 SPP网络 5.1 Mosaic 图像增强 5.2 SPP 模块 5.3 CIou Loss 5.4 Focal loss 1. YOLO YOLO 是目标检测任务强大的算法,将目标检测的问题转换边界框和相关概率的回归问题,是目标检测…...

数据结构总结1:了解数据结构、时间复杂度、空间复杂度

后续可能会有补充和更改 目录 一、数据结构 1.算法介绍 二、时间复杂度、空间复杂度 三、练习 1.时间复杂度 2.空间复杂度 一、数据结构 数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。 数据结构和数据库的区…...

abstract class和interface有什么区别?

含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以&#xf…...

Kafka在Java项目中的应用

Kafka在Java项目中的应用 Docker 安装Kafka 一.首先需要安装docker,可看这篇文章安装docker 二.拉取zookeeper和KafKa镜像 docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafkaKafka组件需要向zookeeper进行注册,所以也需要安装zookeeper 三.启动zookeeper…...

理解分布式id生成算法SnowFlake

理解分布式id生成算法SnowFlake 分布式id生成算法的有很多种,Twitter的SnowFlake就是其中经典的一种。 概述 SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图: } public function __construct(){ $this->rnew…...

光纤收发器可以连接光模块吗?

随着科技的进步发展,城市信息化速度的加快,光通信产品在数据中心和安防监控等场景中的运用越来越广泛,而这之间的连接则需要光模块和光纤收发器来实现。很多用户对光模块和光纤收发器的使用有些疑虑,两者该如何连接?又…...

一文快速了解浏览器Sui Explorer

Sui作为一条基于第一原理重新设计和构建而成的L1公链,所有区块和交易信息皆公开透明,每个人都能自行查看。通过Sui链上浏览器,用户可以迅速了解链上的交易情况,比如当前的TPS和Gas价格,也可以使用Digest来查看特定交易…...

python中lambda、yield、map、filter、reduce的使用

1、 匿名函数lambda python中允许使用lambda关键字定义一个匿名函数。所谓的匿名函数就是说使用一次或者几次之后就不再需要的函数,属于“一次性”函数。 #例1:求两数之和 f lambda x, y: x y print(f(5, 1))#例2:求平方和 print((lambda…...

第十八章 使用LNMP架构部署动态网站环境

文章目录 第十八章 使用LNMP架构部署动态网站环境一、源码包程序1、源码包的优势2、基本步骤(1)、下载及解压源码包文件(2)、编译源码包代码(3)、生成二进制安装程序(4)、运行二进制…...

无人值守的IDC机房动环综合运维方案

企业数字化转型以及5G、物联网、云计算、人工智能等新业态带动了数据中心的发展,在国家一体化大数据中心及“东数西算”节点布局的推动下,数据中心机房已成为各大企事业单位维持业务正常运营的重要组成部分,网络设备、系统、业务应用数量与日…...

桌面远程工具推荐

目前市面上的远程工具多如牛毛,很多人不知道怎么选择,下面小编介绍两种桌面远程工具,它们都是跨平台的,均支持Windows,Mac OS,IOS和安卓,分别是RayLink,VNC,好用&#xf…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

Map相关知识

数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...

Linux操作系统共享Windows操作系统的文件

目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项,设置文件夹共享为总是启用,点击添加,可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download(这是我共享的文件夹)&…...