Overview of Oracle Flex ASM

Overview of Oracle Flex ASM



Oracle Flex ASM enables Oracle ASM instances to run on a separate physical server from the database servers. 

Oracle Flex ASM Configurations
Description of Figure 3-1 follows


Oracle Flex ASM enables an Oracle ASM instance to run on a separate physical server from the database servers. With this deployment, larger clusters of Oracle ASM instances can support more database clients while reducing the Oracle ASM footprint for the overall system.


With Oracle Flex ASM, you can consolidate all the storage requirements into a single set of disk groups. All these disk groups are mounted by and managed by a small set of Oracle ASM instances running in a single cluster. You can specify the number of Oracle ASM instances with a cardinality setting. The default is three instances.
When using Oracle Flex ASM, you can configure Oracle ASM clients with direct access to storage or the I/Os can be sent through a pool of I/O servers.


If the cluster is going to use Oracle ASM for storage, it has at least one Oracle ASM network. A single network can be used as both a private and an Oracle ASM network. For security reasons, an Oracle ASM network should never be public. There can be only one Oracle Flex ASM configuration running within a cluster.



The configurations of Oracle ASM in Oracle Flex ASM are:
  • Local Oracle ASM clients with direct access to Oracle ASM disks
    With this mode (Standard Oracle ASM cluster), Oracle ASM continues to support existing standard architecture in which database clients are running with Oracle ASM instances on the same host computer. The local client architecture is only supported on a Hub node. This mode is labeled A .
    In this configuration, the database instances are on the same Hub node as the Oracle ASM instance and are referred to as local Oracle ASM client instances. Oracle ASM metadata moves between Oracle ASM and the database instances. This client has direct I/O access to Oracle ASM disks.
    Local mode does not use Oracle Flex ASM, so clusters configured with local Oracle ASM do not require an Oracle ASM network, nor do they contain other Oracle Flex ASM services.


Oracle Flex ASM clients with direct access to Oracle ASM disks
With this mode, database clients that are running on Hub nodes of the Oracle ASM cluster access Oracle ASM remotely for metadata, but perform block I/O operations directly to Oracle ASM disks. The hosts running the Oracle ASM server and the remote database client must both be Hub nodes. A Hub node is a node in an Oracle ASM cluster that is tightly connected with other servers and has direct access to a shared disk. This mode is labeled B .


In this configuration, the database instances are on different host computers than the nearby Oracle ASM instance and are referred to as Oracle ASM client instances. This Oracle ASM instance is shown on the node labeled C . The databases are in the same Oracle ASM cluster as the Oracle ASM instance and the database instances are located on a Hub node. Oracle ASM metadata moves between Oracle ASM and the database instance. This client has direct I/O access to Oracle ASM disks.
Depending on the distribution of database instances and Oracle ASM instances, a database client may access Oracle ASM locally on the same node or remotely over the Oracle ASM network. This mode of operation is used by database clients on Hub nodes in the Oracle ASM cluster. Direct access mode is also the only Oracle Flex ASM configuration supported by Oracle ASM cluster file system.


Oracle ACFS access through the Oracle ASM proxy instance
An Oracle ASM proxy instance is an Oracle instance running on a Hub node with a direct Oracle ASM client. Oracle Automatic Storage Management Cluster File System (Oracle ACFS) and Oracle ASM Dynamic Volume Manager (Oracle ADVM) are supported with an Oracle ASM proxy instance. 

The INSTANCE_TYPE initialization parameter is set to ASMPROXY for Oracle ASM proxy instances.


Oracle ACFS and Oracle ADVM in Oracle Flex ASM
Description of Figure 3-2 follows


You can use the ASMCMD showclustermode command to determine whether Oracle Flex ASM is enabled. For example


$ asmcmd showclustermode
ASM cluster : Flex mode enabled 

You can use SRVCTL to determine the status of the instances in an Oracle Flex ASM configuration

$ srvctl status asm -detail
ASM is running on mynoden02,mynoden01
ASM is enabled.

Clients are automatically relocated to another instance if an Oracle ASM instance fails. If necessary, clients can be manually relocated using the ALTER SYSTEMRELOCATE CLIENT command. For example:
SQL> ALTER SYSTEM RELOCATE CLIENT 'client-id';

In the previous SQL statement, client-id is of the form instance_name:db_name. The INSTANCE_NAME and DB_NAME columns are contained in theV$ASM_CLIENT view. 
You must connect as SYSASM to the Oracle ASM instance to run the SQL statement.
 When you issue this statement, the connection to the client is terminated and the client fails over to the least loaded instance. 
If the client is currently connected to the least loaded instance, then the connection to the client is terminated and the client fails over to that same instance.
-------------------------------------------------------------------------------------------------------------

Oracle Flex ASM in Oracle Database 12c changes the architecture regarding the ASM cluster 
organization. In Oracle Database release 12c, only a smaller number of ASM instances need run on a 
subset of servers in a cluster. The number of ASM instances running is called the ASM cardinality. If a 
server fails that is running an ASM instance, Oracle Clusterware starts a replacement ASM instance on 
a different server to maintain the ASM cardinality . If an ASM instance fails for whatever reason, then 
active Oracle 12c database instances that were relying on that ASM instance will reconnect to another
surviving ASM instance on a different server. Furthermore, database instances are connection load 
balanced across the set of available ASM instances. The default ASM cardinality is 3, but that can be 
changed with a Clusterware command. These features are collectively called Oracle Flex ASM.

----------------------------------------------------------------------------------------------------------------------


For more information about Flex ASM please read below white paper.


===================================================================

Oracle Flex ASM 12c / 12.1 (Doc ID 1573137.1)

APPLIES TO:

Oracle Database - Enterprise Edition - Version 12.1.0.1 and later
Information in this document applies to any platform.

PURPOSE

 To provide answers to common questions regarding the 12c New Feature "Oracle Flex ASM"

QUESTIONS AND ANSWERS

 What is Oracle Flex ASM?

Oracle Flex ASM is an ASM instance which will be running in the cluster based on cardinality defined.The default cardinality is three,but you can change it using srvctl modify asm command.It means that ASM is not required to run on each node in the cluster.
In previous release,ASM will be running on each node in the cluster and ASM clients (Database,ACFS,ADVM) can only access ASM by using an ASM on the same host.
With Oracle Flex ASM,the clients can connect to remote ASM using network connection (ie ASM network ).If a server running an ASM instance fails, Oracle Clusterware will start a new ASM instance on a different server to maintain the cardinality. If a 12c database instance is using a particular ASM instance, and that instance is lost because of a server crash or ASM instance failure, then the Oracle 12c database instance will reconnect to an existing ASM instance on another node.These features are collectively called Oracle Flex ASM.

What is Oracle Proxy ASM Instance?

Oracle ASM proxy instance will be configured to support the ACFS/ADVM.An oracle ASM proxy instance can run on the same node as ASM instance or on a different node in a flex ASM.
below picture shows ACFS/ADVM on node 2 talks to Oracle ASM proxy on the same node,which connects to Oracle ASM instance on remote node 1.
ASM proxy instance

 What is the difference between Oracle Flex Cluster vs Oracle Flex ASM?


Oracle Flex Cluster is a cluster node with Hub and leaf node configuration.only Hub nodes have direct access to OCR and Voting disk.leaf node do not have direct access to shared storage.
Flex Cluster require Flex ASM. Flex ASM does not require a Flex Cluster.
In Flex cluster node,the Flex ASM can run on the Hub nodes servicing clients across the Hub nodes of the Flex cluster.
The default Oracle Flex Cluster is disabled,users explicity enable Flex Cluster functionality.

 What is ASM Network and ASM listener?

In previous 12c ,the Oracle clusterware required a public network for client access and a private network for inter-node communication including ASM inter-node communication in the cluster.
In Flex ASM,ASM network provides the capability to isolate ASM’s internal network traffic to its own dedicated private network. The OUI presents the DBA with the choice as to whether a dedicated network is to be used for ASM. The ASM network is the communication path in which all the traffic between database instances and ASM instances commence. This traffic is mostly the metadata such as a particular file’s extent map. If the customer chooses, the ASM private network can be dedicated for ASM traffic or shared with CSS and a dedicated network is not required.
There will be local ASM listener runs on each node where the flex ASM instance is running.ASM clients connect to Flex ASM over the ASM network by using highly available connection endpoints supplied by up to three ASM listeners.Connections are load balanced across the ASM cluster.

 How to implement Flex ASM feature?

 The flex ASM can be implemented in the below ways
       * Pure 12c Flex ASM - In this mode the Grid Infrastructure and Database are both running the 12c version. In this model, the database fully leverages all the new 12c features

       * Pre 12c Mixed - This mode the ASM will run on each node with Flex configuration to support pre 12c database .To achive this, set the the ASM cardinality to “all” which insures that there is an ASM instance on every server in a cluster. The advantage of this approach is that if an Oracle 12c database instance loses connectivity with an ASM instance, then the database connection will failover to another ASM instance on a different server.


 How to check Oracle Flex ASM has setup?

 ASMCMD> showclustermode
 ASM cluster : Flex mode enabled

 ASMCMD> showclusterstate
 Normal
  

 How to change the cardinality of the ASM to be up in the cluster?

[root@ol6r02 bin]# ./srvctl modify asm -count 1
[root@ol6r02 bin]# ./srvctl config asm
ASM home: /u01/app/12.1.0/grid
Password file: +DATA/orapwASM
ASM listener: LISTENER
ASM instance count: 1
Cluster ASM listener: ASMNET1LSNR_ASM

 How to relocate Database client to different ASM?

Clients are automatically relocated to another instance if an ASM instance fails and the connection is load balanced to an available instance.
Clients can be manually relocated using the
ALTER SYSTEM RELOCATE CLIENT command.
– The command syntax is:
SQL> ALTER SYSTEM RELOCATE CLIENT ':';
— Query GV$ASM_CLIENT to determine instance_name and db_name.
  

 How to check ASM instances running nodes? 

$ srvctl status asm -detail
ASM is running on ol6r01,ol6r02
ASM is enabled


 How to convert Non-Flex ASM to Flex ASM (vice-versa)


The standard ASM cluster to Flex ASM using ASMCA or
i) Invoke the ASMCA GUI or silent mode
[oracle@ol6r01 ~]$ asmca -silent -convertToFlexASM -asmNetworks eth1/10.154.138.0 -asmListenerPort 1521
To complete ASM conversion, run the following script as privileged user in local node.
/u01/app/oracle/cfgtoollogs/asmca/scripts/converttoFlexASM.sh

/u01/app/oracle/cfgtoollogs/asmca/scripts/converttoFlexASM.sh

CRS-2673: Attempting to stop 'ora.crsd' on 'ol6r01'
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'ol6r01'
CRS-2673: Attempting to stop 'ora.LISTENER_SCAN2.lsnr' on 'ol6r01'
CRS-2673: Attempting to stop 'ora.LISTENER_SCAN3.lsnr' on 'ol6r01'
CRS-2673: Attempting to stop 'ora.DATA.dg' on 'ol6r01'
CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'ol6r01'
CRS-2673: Attempting to stop 'ora.cvu' on 'ol6r01'
CRS-2677: Stop of 'ora.LISTENER_SCAN2.lsnr' on 'ol6r01' succeeded
CRS-2673: Attempting to stop 'ora.scan2.vip' on 'ol6r01'
CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'ol6r01' succeeded
CRS-2673: Attempting to stop 'ora.ol6r01.vip' on 'ol6r01'
CRS-2677: Stop of 'ora.LISTENER_SCAN3.lsnr' on 'ol6r01' succeeded
CRS-2673: Attempting to stop 'ora.scan3.vip' on 'ol6r01'
CRS-2677: Stop of 'ora.cvu' on 'ol6r01' succeeded
CRS-2672: Attempting to start 'ora.cvu' on 'ol6r02'
CRS-2676: Start of 'ora.cvu' on 'ol6r02' succeeded
CRS-2677: Stop of 'ora.scan2.vip' on 'ol6r01' succeeded
CRS-2672: Attempting to start 'ora.scan2.vip' on 'ol6r02'
CRS-2677: Stop of 'ora.scan3.vip' on 'ol6r01' succeeded
CRS-2672: Attempting to start 'ora.scan3.vip' on 'ol6r02'
CRS-2676: Start of 'ora.scan2.vip' on 'ol6r02' succeeded
CRS-2672: Attempting to start 'ora.LISTENER_SCAN2.lsnr' on 'ol6r02'
CRS-2677: Stop of 'ora.ol6r01.vip' on 'ol6r01' succeeded
CRS-2672: Attempting to start 'ora.ol6r01.vip' on 'ol6r02'
CRS-2676: Start of 'ora.scan3.vip' on 'ol6r02' succeeded
CRS-2672: Attempting to start 'ora.LISTENER_SCAN3.lsnr' on 'ol6r02'
CRS-2676: Start of 'ora.ol6r01.vip' on 'ol6r02' succeeded


CRS-2672: Attempting to start 'ora.storage' on 'ol6r02'
CRS-2676: Start of 'ora.storage' on 'ol6r02' succeeded


+ echo 'Cluster bounced in node ol6r02'
Cluster bounced in node ol6r02

ASMCMD> showclustermode
ASM cluster : Flex mode enabled

ASMCMD> showclusterstate
Normal
  
Can not convert back to standard ASM cluster from Oracle Flex Cluster.



Comments