首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >23ai:试玩Extended Cluster

23ai:试玩Extended Cluster

作者头像
胖头鱼的鱼缸
发布2026-07-02 14:24:12
发布2026-07-02 14:24:12
660
举报

数据库管理-第357期 23ai:试玩Extended Cluster(20250814)

30efd366624530ae0b59caeac2b6a15a.jpg
30efd366624530ae0b59caeac2b6a15a.jpg

本期来玩一玩23ai上的Extended Cluster,也被称为Extended RAC。

1 简介

Oracle Extended Cluster由位于多个位置(称为站点,site)的节点组成。如果其中一个站点发生故障,另一个站点将作为活动备用。 一般来说,Oracle ASM和Oracle数据库都是为在数据中心使用企业级共享存储而设计的。然而,光纤通道技术使您能够在两个或多个数据中心之间分配计算和存储资源,并通过以太网电缆和光纤通道将它们连接起来,分别满足计算和存储需求。 Oracle建议您部署具有normal冗余磁盘组的Oracle Extended Cluster。您可以将节点和故障组分配给站点。站点包含故障组,故障组包含磁盘。对于正常冗余磁盘组,磁盘组提供一级故障保护,可以容忍站点或故障组的故障。 同时Oracle不建议site之间的距离超过100KM。

image.png
image.png

2 环境说明

这里仍然部署的是23.8内测版,基本安装过程可以参考《Oracle Database 23ai测试版RAC部署文档》。本次安装的集群变化内容主要有:

  • 操作系统使用Oracle Linux 9.6
  • 3个节点
  • 公网和私网均未配置多网卡
  • 磁盘组均使用normal冗余
image.png
image.png
image.png
image.png
image.png
image.png

这里没有做存储复制,相当于用一套存储模拟两个site都能访问到的存储,在实际生产部署Extended Cluster需要确保多个site的存储能够一致,且节点能够正常识别对应磁盘,这一硬件配置成本较高。

3 配置Extended Cluster

3.1 检查当前集群状态

代码语言:javascript
复制
crsctl get cluster extended
crsctl query cluster site -all
image.png
image.png

3.2 手动备份OCR信息

代码语言:javascript
复制
su -
ocrconfig -manualbackup
image.png
image.png

3.3 配置site

在第一个节点(db01)执行,执行下面命令过程中,:

代码语言:javascript
复制
su -
cd /u01/app/23.0.0/grid/crs/install
./rootcrs.sh -converttoextended -first -sites chengdu,chongqing -site chengdu
# -first 第一个执行的节点
# -sites 指定有哪些site
# -site  指定本节点的site,后续节点只需要指定本节点的site即可
image.png
image.png

执行converttoextended的节点数据库实例将不可用

image.png
image.png

节点2(db02)执行:

代码语言:javascript
复制
cd /u01/app/23.0.0/grid/crs/install
./rootcrs.sh -converttoextended -site chengdu
image.png
image.png
image.png
image.png

节点3(db03)执行:

代码语言:javascript
复制
cd /u01/app/23.0.0/grid/crs/install
./rootcrs.sh -converttoextended -site chongqing
image.png
image.png
image.png
image.png

这是db01和db02已经到了site:chengdu,而db03到了site:chongqing。

3.4 删除多余site

需要删除多余的site:db。

代码语言:javascript
复制
crsctl delete cluster site db
image.png
image.png

3.5 配置ASM磁盘与site关联

这是一个我认为的可选操作

首先需要关闭数据库:

代码语言:javascript
复制
su - oracle
srvctl stop database -db racdb
image.png
image.png

然后调整ASM磁盘:

代码语言:javascript
复制
su - grid
sqlplus / as sysasm
代码语言:javascript
复制
select a.group_number,a.name gname,b.name dname from v$asm_diskgroup a,v$asm_disk b where a.group_number=b.group_number and a.name='DATA';
image.png
image.png

所有节点执行:

代码语言:javascript
复制
alter diskgroup data dismount;

一个节点执行:

代码语言:javascript
复制
alter diskgroup data mount restricted;
代码语言:javascript
复制
ALTER DISKGROUP DATA RENAME DISK 'DATA_0000' SITE chengdu;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0001' SITE chengdu;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0002' SITE chengdu;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0003' SITE chengdu;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0004' SITE chengdu;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0005' SITE chengdu;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0006' SITE chengdu;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0007' SITE chengdu;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0008' SITE chongqing;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0009' SITE chongqing;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0010' SITE chongqing;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0011' SITE chongqing;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0012' SITE chongqing;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0013' SITE chongqing;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0014' SITE chongqing;
ALTER DISKGROUP DATA RENAME DISK 'DATA_0015' SITE chongqing;
image.png
image.png

检查ASM磁盘:

代码语言:javascript
复制
select a.group_number,b.name dname,b.site_name from v$asm_diskgroup a,v$asm_disk b where a.group_number=b.group_number and a.name='DATA';
image.png
image.png

重新挂载磁盘:

代码语言:javascript
复制
alter diskgroup data dismount;
alter diskgroup data mount; --所有节点执行

启动数据库:

代码语言:javascript
复制
su -  oracle
srvctl start database -db racdb
image.png
image.png

3.6 检查集群

代码语言:javascript
复制
su - grid
crsctl get cluster extended
crsctl query cluster site -all
image.png
image.png

4 其他维护命令

4.1 添加site

代码语言:javascript
复制
crsctl add cluster site site_name [-guid site_guid]

eg.
crsctl add cluster site mianyang

4.2 修改site

代码语言:javascript
复制
crsctl modify cluster site site_name {–n node1, node2, ... | -s {rejuvenate | quarantine} | [-local]}

eg.
crsctl modify cluster site chengdu –n node1
image.png
image.png

总结

本期简单演示了在Oracle 23ai测试版RAC集群上转换成Extended Cluster的操作。 老规矩,知道写了些啥。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 胖头鱼的鱼缸 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据库管理-第357期 23ai:试玩Extended Cluster(20250814)
    • 1 简介
    • 2 环境说明
    • 3 配置Extended Cluster
      • 3.1 检查当前集群状态
      • 3.2 手动备份OCR信息
      • 3.3 配置site
      • 3.4 删除多余site
      • 3.5 配置ASM磁盘与site关联
      • 3.6 检查集群
    • 4 其他维护命令
      • 4.1 添加site
      • 4.2 修改site
    • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档