Oracle 12c Flex ASM Architecture & Benefits

Start Here

Get in touch with a
TriCore Solutions specialist

Blog | Sep 19, 2016

Oracle 12c Flex ASM Architecture & Benefits

Prior to 12c release, every node in the cluster use to run the ASM instance and if ASM instance failed on any node, then the database would become unavailable on that node. Let’s see how things are different with ASM.


In this Blog, you will learn about one of the new 12c feature- the Flex ASM. The blog discusses the details as to how it works, its advantages, a basic deployment model as well as a failover scenario. Prior to 12c release, every node in the cluster used to run the ASM instance and if ASM instance failed on any node, then the database would become unavailable on that node. Let’s see how things are different with ASM. 


  1. Not all the nodes in the cluster need to run the ASM instance. Starting 12c we can have ASM run only on a subset of nodes in the cluster. The node running the ASM are known as the Flex ASM nodes and the other nodes are referred to as the ASM client nodes. The ASM clients communicate with the Flex ASM nodes to get the metadata and then get the data from the disk to the database instance.

  2. If ASM fails on the Node where ASM is running, Oracle automatically starts the replacement ASM instance on different server based on ASM cardinality set. The active Oracle 12c database instances that were relying on that ASM instance will reconnect to another surviving ASM instance on a different server without disruption.

Refer Figure below for flex ASM deployment in 5 Node Rac.


Refer to the image below to understand how ASM instance failover happens in Flex Setup




The FLEX ASM clustering deployment model has the following modes:

  • Standard Mode - > 12c cluster (No Flex ASM), ASM running on reach node. It is same as old model and good for transitioning pre 12c databases to 12c. New ASM connectivity and failover features are not supported.      
  • Mixed Mode -> Configure Flex ASM with cardinality set to ALL servers in the cluster which means ASM would run on the entire Node. 12c database clients can connect remotely to ASM and take advantage of failovers features. Pre 12c database can connect locally to ASM instance and can’t take advantage of 12C ASM failover features. 
  • FlexASM –> Pure 12c Mode i.e. 12c cluster for 12c databases only. Databases can connect to any available ASM instance and can failover to any secondary instance. Provides Option to perform maintenance on ASM without need to stop the RAC databases. Clusterware ensures ASM cardinality is maintained. 


During Oracle 12c grid infrastructure installations, when you select Advance Installation, the screen given below appears that has the option for Flex ASM deployment.


Conversion of standard ASM cluster to Flex ASM cluster

Invoke the ASMCA GUI or silent mode to covert standard ASM cluster to Flex ASM 

asmca -silent -convertToFlexASM -asmNetworks eth1/<Cluster interconnect/ASM interconnect IP> -asmListenerPort 1521 

To complete ASM conversion, run the following script as privileged user in local node.


Managing Oracle Flex ASM

Oracle Flex ASM requires only minimal monitoring and ongoing management after initial configuration. The primary objective for administrators is that the ASM instances are up and running. 

In release 12c, there are no new instance parameters that are specific to Flex ASM. the default parameter settings have been adjusted to suit the Oracle Flex ASM architecture.

Flex ASM can be managed using standard SRVCTL Command.

       To check Oracle Flex ASM,

      ASMCMD> showclustermode
      ASM cluster : Flex mode enabled

       To check on which nodes ASM is running.

       srvctl status asm –detail

       To check ASM configuration and cardinality.

       srvctl config asm

       To change the cardinality of the ASM to be up in the cluster.

       srvctl modify asm -count <number>

       To relocate Database client to different ASM.


       To Monitor Flex ASM Connections.


Dedicated ASM Network / ASM Interconnect

In pre 12c release, the Clusterware requires one or more private networks to carry Cache Fusion and ASM traffic within the cluster. However, with 12c release, Flex ASM adds option for private ASM network interconnect for ASM network traffics. 

The Oracle installer provides a DBA with a choice of whether to use a dedicated private network for ASM or continue to share CSS private network (cluster interconnect). 

ASM Password file and remote access.

Before Oracle Database 12c, database clients use operating system authentication to log into an ASM instance. Historically, this approach worked well because the database instances and the ASM instance ran on the same server. 

With Oracle Database 12c, the database instances and ASM instances can now be on different servers, so ASM instances require a password file that is used to authenticate a database instance connecting to an ASM instance within the cluster. 

To solve that problem, Oracle Database 12c now creates an ASM password file that the clients will need to authenticate. For most configurations a default ASM password file is created during installation and it is stored in an ASM Disk Group so that it is shared and accessible to the entire node in the cluster. 

The ability to store password file in ASM diskgroup removes burden of replicating password files when password is changed similar to the dataguard environment and earlier RAC environment. 

To create/manage ASM password file manually,

orapwd asm=y file=’+<DG_NAME>’ password=’#####’ 

To List Passwrod file,

ASMCMD [+] > pwget --asm 


Oracle Flex ASM has definitely brought a revolutionary change to the Oracle 12c architecture that ensures high availability in the Oracle RAC cluster environment. Maintenance of ASM instance will not more affect the availability of the database attached to the affecting node. For any questions on the topic click below. You can also leave a comment in the field below.
Ask Akshay