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

第七十六期 如何升级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 crs

fdisk /dev/sda #以实际磁盘为准将剩余空间划成一块分区
partprobe /dev/sda

pvcreate /dev/sda4
vgcreate u01 /dev/sda4
lvcreate -l 100%VG -n u01 u01
mkfs.xfs /dev/mapper/u01-u01

mkdir /a01
mount /dev/mapper/u01-u01 /a01
mv /u01/* /a01
umount /a01
mount /dev/mapper/u01-u01 /u01

vim /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.3

su - grid
cd /u01/1916
unzip p6880880_190000_Linux-x86-64.zip
su - root
mv /u01/1916/OPatch /u01/app/19.0.0/grid

su - 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/33575402

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

猜你喜欢

转载自blog.csdn.net/yhw1809/article/details/130700646