前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle Extended Cluster

Oracle Extended Cluster

作者头像
Yunjie Ge
发布2022-12-01 11:48:42
4900
发布2022-12-01 11:48:42
举报
文章被收录于专栏:数据库与编程

您可以将 Oracle RAC 集群扩展到两个或多个地理位置不同的站点,每个站点都配有自己的存储。如果其中一个站点发生故障,另一个站点将充当活动备用站点。

通常,Oracle ASM 和 Oracle 数据库堆栈都设计为在数据中心中使用企业级共享存储。然而,光纤通道技术使您能够跨两个或多个数据中心分布计算和存储资源,并分别通过以太网电缆和光纤通道连接它们,以满足计算和存储需要。

虽然您可以在安装 Oracle Grid Infrastructure 时配置 Oracle 扩展集群,但也可以在安装后使用 ConvertToExtended 脚本进行配置。您可以使用 CRSCTL 管理 Oracle 扩展集群。

配置Oracle Extended Cluster

此过程仅支持已安装或升级到 Oracle Grid Infrastructure 12c 版本2(12.2)或更高版本的集群,这些集群通常配置有一个站点(默认站点)。

代码语言:javascript
复制
注:此过程要求集群中的所有节点都可以访问。在数据库访问中断期间,还将出现集群中断。

您可以将 Oracle Extended Cluster 配置为具有一个或多个磁盘组以及多个故障组。使用 ConvertToExtended 脚本,可以创建多个数据站点,并将节点与每个数据站点相关联。所有 Oracle Flex ASM 存储都与默认集群站点保持关联,因为没有将现有磁盘组转换为扩展磁盘组的机制。将集群转换为 Oracle Extended cluster 后,投票文件成员身份将保持不变,而不是层次结构。

还必须添加扩展磁盘组,并将投票文件迁移到扩展磁盘组以利用特定于站点的分层投票文件算法。

使用CRSCTL查询集群,如下所示,以确定其扩展状态:

代码语言:javascript
复制
$ crsctl get cluster extended
CRS-6579: The cluster is 'NOT EXTENDED'
代码语言:javascript
复制
$ crsctl query cluster site -all
Site 'crsclus' identified by '7b7b3bef4c1f5ff9ff8765bceb45433a' in state 'ENABLED',
 and contains nodes 'node1,node2,node3,node4', and disks ''.

示例中名为 crsclus 的集群,该集群有四个节点node1、node2、node3和node4以及一个磁盘组datadg。集群配置了一个站点。

关闭 Oracle Clusterware 堆栈,以防止某些 Oracle Flex ASM 实例、cssd和crsd 认为集群模式未扩展,而其他组件认为集群模式已扩展。保持 Grid 即插即用守护进程(gpnpd)在线的好处是可以在远程节点上更新概要文件。下次启动 Oracle Clusterware 堆栈时,集群模式将被扩展。

代码语言:javascript
复制
# crsctl stop cluster -all

1、在集群中的第一个节点上,运行以下命令(注意将site_name替换为实际的名称):

代码语言:javascript
复制
$ rootcrs.sh -converttoextended -firstnode -sites site_list -site site_name

2、运行 crsctl check css 以确保集群同步服务(css)未在任何远程节点上运行。

3、使用以下命令生成站点名称和站点GUID:

代码语言:javascript
复制
$ crsctl query cluster site -all

上面的命令显示的输出类似于以下内容:

代码语言:javascript
复制
Site 'SiteA' identified by GUID '7b7b3bef4c1f5ff9ff8765bceb45433a' in state
  'ONLINE' contains nodes 'node1,node2,node3', and disks 'disk1, disk2, disk3'.
Site 'SiteB' identified by GUID '23453bef4c1f5ff9ff8765bceb45433a' in state
  'QUARANTINED' contains nodes 'node4, node5, node6', and disks 'disk4, disk5, disk6'.
Site 'SiteQ' identified by GUID '98763bef4c1f5ff9ff8765bceb45433a' in state
  'ONLINE' contains no nodes and disk 'disk7'.
Site 'SiteD' identified by GUID '4abcd453c6bc6fc1ffd3a58849d5ba41' in state
  'ONLINE' contains nodes 'cuj1234' and no disk

使用此信息更新检查点,并将其复制到集群中的其余节点。

4、更新Grid Plug 和 Play配置文件,并使用以下命令将ext_mode设置为TRUE:

代码语言:javascript
复制
$ cd $Grid_home/gpnp/host_name/profiles/peer

$ gpnptool getpval -p=profile.xml -prf_sq -o=temp_file // run_gpnptool_getpval()
$ gpnptool edit -p=profile.xml -asm_ext="" prf_sq=seq+1 -o=profile_ext.xml
代码语言:javascript
复制
注:对于ProfileSequence键,prf_sq的值必须大于当前配置文件中的值。
代码语言:javascript
复制
$ gpnptool sign -p=profile_ext.xml -o=profile_ext_sign.xml
$ mv profile_ext_sign.xml profile.xml
$ gpnptool put -p=profile.xml

5、将站点添加到本地配置,如下所示:

代码语言:javascript
复制
$ crsctl add crs site site_name -guid site_guid -local

6、将站点添加到全局配置中,如下所示(这要求OCR正在运行,需将 site_name 和 site_guid 参数改为实际值):

代码语言:javascript
复制
$ crsctl add crs site site_name -guid site_guid

7、为此节点更新本地配置中的到站点映射,如下所示(需要将 site_name 和 local_host 改为实际值):

代码语言:javascript
复制
$ crsctl modify cluster site site_name -n local_host -local

8、更新节点到站点的映射,如下所示:

代码语言:javascript
复制
$ crsctl modify cluster site site_name -n host1, host2, ...

9、停止然后启动Oracle High Availability Services堆栈,如下所示:

代码语言:javascript
复制
# crsctl stop crs
# crsctl start crs

对集群中的其余节点执行以下操作:

1、将集群扩展到特定节点,如下所示:

代码语言:javascript
复制
$ rootcrs.sh -converttoextended -site site_name

2、确保CSS未在任何远程节点上运行。

3、使用以前的检查点信息查找新站点和站点GUID。

4、将站点添加到本地配置,如下所示:

代码语言:javascript
复制
$ crsctl add crs site site_name -guid site_guid -local

5、为此节点更新本地配置中的到站点映射,如下所示:

代码语言:javascript
复制
$ crsctl modify cluster site site_name -n local_host -local

6、停止然后启动 Oracle High Availability Services 堆栈,如下所示:

代码语言:javascript
复制
# crsctl stop crs
# crsctl start crs

配置完Oracle Extended Cluster后,运行以下命令以验证配置:

代码语言:javascript
复制
$ crsctl get cluster extended
CRS-XXXX: The cluster is 'EXTENDED'

$ crsctl query cluster site -all
Site 'crsclus' identified by '7b7b3bef4c1f5ff9ff8765bceb45433a' is 'ONLINE', and 
contains nodes '', and disks ''.
Site 'ny' identified by '888b3bef4c1f5ff9ff8765bceb45433a' is 'ONLINE', and \
contains nodes 'node1,node2', and disks ''.
Site 'nj' identified by '999b3bef4c1f5ff9ff8765bceb45433a' is 'ONLINE', and \
contains nodes 'node3,node4', and disks ''.

上述命令示例中的输出类似于运行命令时 CRSCTL 显示的内容。

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

本文分享自 山东Oracle用户组 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档