Understanding Oracle Flex Clusters

Starting with Oracle Grid Infrastructure 12c Release 2 (12.2), Oracle Grid Infrastructure cluster configurations are Oracle Flex Clusters deployments.

Oracle Grid Infrastructure installed in an Oracle Flex Cluster configuration is a scalable, dynamic, robust network of nodes. Oracle Flex Clusters provide a platform for Oracle Real Application Clusters databases with large numbers of nodes, to support massive parallel query operations. Oracle Flex Clusters also provide a platform for other service deployments that require coordination and automation for high availability.

All nodes in an Oracle Flex Cluster belong to a single Oracle Grid Infrastructure cluster. This architecture centralizes policy decisions for deployment of resources based on application needs, to account for various service levels, loads, failure responses, and recovery.

Oracle Flex Clusters contain two types of nodes arranged in a hub and spoke architecture: Hub Nodes and Leaf Nodes. The number of Hub Nodes in an Oracle Flex Cluster can be as many as 64. The number of Leaf Nodes can be many more. Hub Nodes and Leaf Nodes can host different types of applications and perform parallel query operations.

Hub Nodes in Oracle Flex Clusters are tightly connected, and have direct access to shared storage. In an Oracle Flex Cluster configuration, Hub Nodes can also provide storage service for one or more Leaf Nodes. Three Hub Nodes act as I/O Servers for storage access requests from Leaf Nodes. If a Hub Node acting as an I/O Server becomes unavailable, then Oracle Grid Infrastructure starts another I/O Server on another Hub Node.

Leaf Nodes in Oracle Flex Clusters do not require direct access to shared storage, but instead request data through Hub Nodes. Hub Nodes can run in an Oracle Flex Cluster configuration without having any Leaf Nodes as cluster member nodes, but Leaf Nodes must be members of a cluster with a pool of Hub Nodes.

Oracle RAC database instances running on Leaf Nodes are referred to as far Oracle ASM client instances. Oracle ASM metadata is never sent to the far client database instance. Instead, the far Oracle ASM client database sends the I/O requests to I/O Server instances running on Hub Nodes over the Oracle Flex ASM network.

You configure servers for Hub Node and Leaf Node roles. You can designate servers for manual or automatic configuration.

If you select manual configuration, then you must designate each node in your cluster as a Hub Node or a Leaf Node. Each role requires different access to storage. To be eligible for the Hub Node role, a server must have direct access to storage. To be eligible for the Leaf Node role, a server may have access to direct storage, but it does not require direct access, because leaf nodes access storage as clients through Hub Nodes.

If you select automatic configuration of roles, then cluster nodes that have access to storage and join are configured as Hub Nodes, up to the number that you designate as your target. Other nodes that do not have access to storage or that join the cluster after that target number is reached join the cluster as Leaf Nodes. Nodes are configured as needed to provide Hub Nodes configured with Local or Near ASM to provide storage client services, and Leaf Nodes that are configured with direct access to Oracle ASM disks can be reconfigured as needed to become Hub Nodes. Oracle recommends that you select automatic configuration of Hub and Leaf node roles.

About Reader Nodes

You can use Leaf Nodes to host Oracle RAC database instances that run in read-only mode, which become reader nodes. You can optimize these nodes for parallel query operations by provisioning nodes with a large amount of memory so that data is cached in the Leaf Node.

A Leaf Node sends periodic heartbeat messages to its associated Hub Node, which is different from the heartbeat messages that occur between Hub Nodes. During planned shutdown of the Hub Nodes, a Leaf Node attempts to connect to another Hub Node, unless the Leaf Node is connected to only one Hub Node. If the Hub Node is evicted, then the Leaf Node is also evicted from the cluster.