当前位置: 首页 > 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的操作,也会形成文档,预计要等一段时间了。
老规矩,知道写了些啥。

http://www.lryc.cn/news/68892.html

相关文章:

  • 组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python)
  • 实验四 面向对象分析与设计——UML类图与时序图
  • 最短路径问题
  • 国内有哪些SAAS软件?SAAS软件有哪些优点?
  • 分享两组不同的3D VR卡片
  • 外贸人如何精准开发客户?Facebook开发客户全攻略
  • 一、Git安装(Git+TortoiseGit图形化)
  • mysql死锁,如何产生?如何发现?如何处理?
  • YOLO V1-V3 简单介绍
  • 数据结构总结1:了解数据结构、时间复杂度、空间复杂度
  • abstract class和interface有什么区别?
  • Kafka在Java项目中的应用
  • 理解分布式id生成算法SnowFlake
  • 光纤收发器可以连接光模块吗?
  • 一文快速了解浏览器Sui Explorer
  • python中lambda、yield、map、filter、reduce的使用
  • 第十八章 使用LNMP架构部署动态网站环境
  • 无人值守的IDC机房动环综合运维方案
  • 桌面远程工具推荐
  • MySQL高级——第15章_锁
  • 【ROS】Ubuntu22.04安装ROS2(Humble Hawksbill)
  • 【ChatGPT】体验一下ChatGPT
  • Android 串口通信
  • Python3 日期和时间
  • Go 爬虫三种框架的基本使用介绍
  • python实现斐波那契数列详解(黄金分割)
  • 整合营销和内容营销哪个好,有什么区别
  • C# | [二进制字符串] 与 [字节数组] 互相转换,一行代码就搞定! - CodePlus系列
  • Java 细节汇总(5)-Comparator#compare() 升降序确定
  • 湖北棒球发展报告·棒球5号位