My last article talked about the advantages and capabilities of an Oracle Flex ASM, and as promised, this article will focus on Oracle Flex Cluster 12c benefits, deploying a Flex Cluster and converting a standard cluster to a flex cluster.

Overview of Oracle Flex Cluster

Oracle 12c offers two types of Clusterware configuration setups: Standard Cluster and Flex Cluster. In a standard Oracle Clusterware configuration, all nodes in the cluster tightly coupled through private network and have direct read/write access to shared storage. A Flex Cluster, on the other hand, designed over HUB-LEAF topology to scale the Cluster to large number of nodes, literally 1000s of nodes. Hub nodes are very much similar to the standard cluster architecture, they are tightly coupled through a private interconnect and have direct access to shared storage. On the contrary, Leaf nodes are very light weight servers, not connected to other leaf nodes, and have no direct access to the storage. A Hub node can have multiple leaf nodes, but, a node leaf can’t be part of multiple of Hub nodes. In a nutshell, the prime purpose of an Oracle Flex Cluster is to provide the combined database and application tiers together in a single clustering environment.

Standard Cluster vs Oracle Flex Cluster Architecture                                       

The diagrams underneath illustrate the architectural difference between a conventional cluster and a flex cluster.

Standard Cluster                                                                             


  • The diagram depicts a standard 2 node cluster setup, where both nodes are connected/coupled through private interconnect and have direct access to shared storage.

Oracle Flex Cluster

  • Its 16 node Flex Cluster with 4 HUB and 12 LEAF nodes
  • All four HUB nodes are connected to each other, and have direct access to shared storage
  • Each HUB node has 3 LEAF nodes, and there is no intra-LEAF connection

Deploying Flex Cluster

An Oracle Flex Cluster configuration in 12c is an optional choice. If you want to configure a conventional (standard) cluster, select standard cluster option or if you want to Flex Cluster, choose configure a flex cluster option, as demonstrated in the subsequent screen-shot:


In order to configure a flex cluster, you must configure GNS too. GNS configuration requires a fixed VIP, hence, ensure you have got everything in-place and proceed with configuring GNS, as demonstrated in the subsequent screen-shot:


And the next important option is defining node role: Hub or Leaf. Drop down the Role to define node role, also, define the virtual hostname to the node. However, Leaf node doesn’t require Virtual Hostname configuration, as shown in the subsequent screen-shot:


I have explained you the mandatory steps required to configure a Flex Cluster, and you need to move forward from this point onwards to configure the cluster as you do typical cluster installations.

Switching Cluster modes

Switch the existing standard cluster mode to Flex Cluster mode is a simple and straight forward method; however, it requires cluster downtime. Run the following procedure to switch the standard cluster mode to Flex cluster mode:

  • Determine the existing cluster mode, ensure the GNS is configured with a fix VIP:

$ crsctl get cluster mode status

$ srvctl config gns | srvctl status gns

  • As root user, configure GNS with a fix VIP when no GNS is configured currently, and start GNS subsequently:

$ srvctl add gns –vip <rac1_gns_vip> -- can be used virtual hostname or IP here

$ srvctl start gns

  • As root user, run through the following commands to switch the current mode to Flex Cluster mode:

$ crsctl set cluster mode flex

$ crsctl stop crs -- this should be done on all nodes

$ crsctl start crs – use [-wait] option to display progress message

  • After the cluster startup, change the node roles, HUB|LEAF accordingly, run through the following commands as root user:

$ crsctl get node role config

$ crsctl set node role hub|leaf

$ crsctl stop crs

$ crsctl start crs


  • Before switching the existing standard cluster mode to Flex cluster mode, ensure the following:
    • GNS is configured with a fixed VIP
    • No DNS used
    • Flex ASM is configured, if not, convert standard ASM to Flex ASM (as explained in the last article)
    • Flex Cluster can’t be switched to Standard Cluster mode
    • If you are upgrading to 12c RAC, you can’t upgrade a standard cluster directly to a flex cluster. You will have to upgrade to 12c standard cluster first and then convert the standard cluster to flex cluster.

Conclusion: This article explained the benefits of a flex cluster and the architectural differences between a standard and a flex cluster. Also, demonstrated Flex cluster deployment and converting a standard cluster to a flex cluster.