Oracle Flex 集群可将Oracle Clusterware扩展到大量节点。
Oracle Flex 集群概述
安装在 Oracle Flex 集群 配置中的 Oracle Grid Infrastructure 是一个可扩展、动态、健壮的节点网络。
Oracle Flex 集群 为各种应用程序提供了一个平台,包括具有大量节点的 Oracle RAC数据库。Oracle Flex 集群还为其他需要协调和自动化以实现高可用性的服务部署提供了一个平台。
Oracle Flex 集群中的所有节点都属于单个Oracle网格基础架构集群。此体系结构集中了基于应用程序需求的资源部署策略决策,以考虑各种服务级别、负载、故障响应和恢复。
Oracle Flex集群包含 Hub 节点和任何数量的其他受支持节点。Oracle Flex集群中的Hub 节点数可以多达64个。其他节点的数量可以更多。Hub 节点可以承载不同类型的应用程序。
Hub 节点类似于Oracle Clusterware标准集群配置中的Oracle Grid Infrastructure节点:它们紧密连接,可以直接访问共享存储。使用 Hub 节点承载读写数据库实例。
Oracle Flex集群中其他受支持的节点与标准Oracle网格基础架构节点不同,因为它们不需要直接访问共享存储,而是通过 Hub 节点请求数据。使用其他节点承载只读数据库实例。
代码语言:javascript复制注:同一主数据库的读写和只读数据库实例可以在 Oracle Flex 集群中共存。
Hub 节点可以在 Oracle Flex 集群配置中运行,而无需将任何其他节点作为集群成员节点,但其他节点必须是至少包含一个 hub 节点的集群的成员。
代码语言:javascript复制注:如果您升级 Oracle Flex 集群,那么 Oracle 建议您首先升级 Hub 节点,并在升级过程中启动并运行任何升级的 Hub 节点。
Reader 节点
您可以使用其他节点来托管以只读模式运行的 Oracle RAC 数据库实例,这些实例将成为 Reader 节点。通过为节点提供大量内存,以便将数据缓存在宿主节点中,可以优化这些节点的并行查询操作。
宿主节点定期向其关联的 Hub 节点发送心跳消息,这与 Hub 节点之间发生的心跳消息不同。在计划关闭 Hub 节点期间,除非宿主节点仅连接到一个Hub 节点,否则宿主节点会尝试连接到另一个 Hub 节点。如果 Hub 节点被逐出,则托管节点也将从集群中逐出。
管理 Oracle Flex 集群
在为集群成功安装 Oracle Grid 基础架构后,使用 CRSCTL 管理 Oracle Flex 集群。
更改集群模式
您可以将现有 Oracle Clusterware 标准集群的模式更改为 Oracle Flex 集群。
代码语言:javascript复制注:
# 更改集群模式需要集群停机。
# Oracle 不支持将 Oracle Flex 集群 更改为 Oracle Clusterware 标准集群。
# Oracle Flex 集群需要网格命名服务(GNS)。
# 不需要区域委派。
将 Oracle Clusterware Standard 集群更改为Oracle Flex 集群
使用 CRSCTL 将现有 Oracle Clusterware 标准集群更改为 Oracle Flex 集群。
执行以下步骤:
1、运行以下命令以确定集群的当前模式:
代码语言:javascript复制$ crsctl get cluster mode status
2、运行以下命令以确保网格命名服务(GNS)配置了固定VIP:
代码语言:javascript复制$ srvctl config gns
除非 GNS 配置了固定 VIP,否则此过程无法成功。如果没有 GNS,那么使用 root 用户,创建一个 GNS,如下所示:
代码语言:javascript复制# srvctl add gns -vip vip_name | ip_address
以 root 用户身份运行以下命令以启动 GNS:
代码语言:javascript复制# srvctl start gns
3、更改集群模式之前,使用 Oracle Automatic Storage Management Configuration Assistant(ASMCA)在集群中启用 Oracle Flex ASM。
4、以 root 用户身份运行以下命令,将集群的模式更改为 Oracle Flex 集群:
代码语言:javascript复制# crsctl set cluster mode flex
5、通过在集群中的每个节点上以 root 用户身份运行以下命令来停止 Oracle Clusterware:
代码语言:javascript复制# crsctl stop crs
6、以 root 身份在集群中的每个节点上运行以下命令,以启动 Oracle Clusterware:
代码语言:javascript复制# crsctl start crs -wait
代码语言:javascript复制注:使用 -wait 选项可以显示进度和状态消息。