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

时间:2021-12-28 06:02:30

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

APPLIES TO:

Oracle Database - Enterprise Edition - Version 12.1.0.1 to 12.1.0.2 [Release 12.1]
Oracle Virtual Compute Appliance X4-2 Hardware - Version All Versions to All Versions [Release All Releases]
Oracle Database - Enterprise Edition - Version 12.2.0.1 to 12.2.0.1 [Release 12.2]
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A 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"  提供有关12c新功能“ Oracle Flex ASM”的常见问题的答案

QUESTIONS AND ANSWERS

 What is Oracle Flex ASM?  什么是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.

Oracle Flex ASM 是一个ASM实例,它将根据定义的基数在集群中运行。默认基数为3,但是您可以使用srvctl Modify asm命令对其进行更改。这意味着不需要ASM在数据库中的每个节点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.

在以前的版本中,ASM将在群集中的每个节点上运行,并且ASM客户端(数据库,ACFS,ADVM)只能通过在同一主机上使用ASM来访问ASM。

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.

使用Oracle Flex ASM,客户端可以使用网络连接(即ASM网络)连接到远程ASM。如果运行ASM实例的服务器发生故障,Oracle Clusterware将在其他服务器上启动新的ASM实例以保持基数。如果12c数据库实例正在使用特定的ASM实例,并且由于服务器崩溃或ASM实例故障而导致该实例丢失,则Oracle 12c数据库实例将重新连接到另一个节点上的现有ASM实例,这些功能统称为Oracle Flex ASM。

What is Oracle ASM Proxy Instance?  什么是Oracle ASM Proxy实例

Oracle ASM proxy instance will be configured to support the ACFS/ADVM.In a flex ASM, an oracle ASM proxy instance can run on the same node as ASM instance or on a different node.

Oracle ASM proxy 实例将配置为支持ACFS / ADVM。在Flex ASM中,Oracle ASM proxy 实例可以与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.

下图显示了节点2上的ACFS / ADVM与同一节点上的Oracle ASM proxy进行对话,该proxy连接到远程节点1上的Oracle ASM实例

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

 What is the difference between Oracle Flex Cluster vs Oracle Flex ASM?  Oracle Flex Cluster与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.

Oracle Flex Cluster 是具有集线器和叶节点配置的群集节点。仅集线器节点可以直接访问OCR和表决磁盘。叶节点不能直接访问共享存储。

Flex Cluster require Flex ASM. Flex ASM does not require a Flex Cluster.  Flex Cluster需要Flex ASM。Flex ASM不需要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.  在Flex Cluster节点中,Flex ASM可以在集线器节点上运行,为跨Flex Cluster的集线器节点的客户端提供服务

The default Oracle Flex Cluster is disabled,users explicity enable Flex Cluster functionality. 默认的Oracle Flex Cluster已禁用,用户明确启用了Flex Cluster功能

 What is ASM Network and ASM listener?  什么是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.

在之前的12c中,Oracle集群件需要一个公共网络用于客户端访问,并需要一个私有网络用于节点间通信,包括集群中的ASM节点间通信。

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.

在Flex ASM中,ASM网络提供了将ASM的内部网络流量隔离到其专用网络的功能。OUI向DBA提供有关是否将专用网络用于ASM的选择。ASM网络是数据库实例和ASM实例之间的所有流量开始的通信路径。此流量主要是元数据,例如特定文件的范围图。如果客户选择,则ASM专用网络可以专用于ASM通信或与CSS共享,并且不需要专用网络。

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.

运行Flex ASM实例的每个节点上都将运行本地ASM侦听器.ASM客户端通过使用最多三个ASM侦听器提供的高可用性连接端点,通过ASM网络连接到Flex ASM。

 How to implement Flex ASM feature?  如何实现Flex ASM功能

 The flex ASM can be implemented in the below ways  可以通过以下方式实现flex ASM

       * 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  在此模式下,Grid Infrastructure and Database都运行12c版本。在此模型中,数据库充分利用了12c的所有新功能

       * 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.  在这种模式下,ASM将在具有Flex配置的每个节点上运行,以支持12c之前的数据库。要实现此目的,请将ASM基数设置为“ all”,以确保集群中的每个服务器上都有一个ASM实例。 这种方法的优点是,如果Oracle 12c数据库实例失去与ASM实例的连接,则数据库连接将故障转移到另一台服务器上的另一个ASM实例。

 How to check Oracle Flex ASM has setup?  如何检查Oracle Flex ASM是否已安装

 ASMCMD> showclustermode
 ASM cluster : Flex mode enabled

 ASMCMD> showclusterstate
 Normal

 How to change the cardinality of the ASM to be up in the cluster?  如何更改要在群集中启动的ASM的基数

[[email protected] bin]# ./srvctl modify asm -count 4
[[email protected] bin]# ./srvctl config asm
ASM home: /u01/app/12.1.0/grid
Password file:  DATA/orapwASM
ASM listener: LISTENER
ASM instance count: 4
Cluster ASM listener: ASMNET1LSNR_ASM

The minimum cardinality value is 2.  最小基数值为2

On 12.1.0.1 it might be possible to set it to below 2, but it is not recommended. With Patch 17990656 it will report  在12.1.0.1上,可以将其设置为2以下,但不建议这样做。使用补丁17990656,它将报告

PRCA-1123 : TOO_SMALL_COUNT_FOR_ASM, "The specified ASM cardinality {0} is less than the minimum cardinality of 2."

 Note 1968485.1 discusses one similar issue.   Note 1968485.1讨论了一个类似的问题。

 How to relocate Database client to different ASM?  如何将数据库客户端重定位到不同的ASM?

Clients are automatically relocated to another instance if an ASM instance fails and the connection is load balanced to an available instance.

如果ASM实例失败并且连接负载均衡到可用实例,则客户端会自动重定位到另一个实例

Clients can be manually relocated using the  可以使用

ALTER SYSTEM RELOCATE CLIENT command.

– The command syntax is:  命令语法为

SQL> ALTER SYSTEM RELOCATE CLIENT ‘<instance_name>:<db_name>‘;

— Query GV$ASM_CLIENT to determine instance_name and db_name.

 How to check ASM instances running nodes?   如何查看运行节点的ASM实例

$ srvctl status asm -detail
ASM is running on test1,test2
ASM is enabled

 How to convert Non-Flex ASM to Flex ASM  如何将Non-Flex ASM转换为Flex ASM

The standard ASM cluster to Flex ASM using ASMCA or  使用ASMCA或Flex的标准ASM群集

i) Invoke the ASMCA GUI or silent mode  调用ASMCA GUI或静默模式

[[email protected] ~]$ asmca -silent -convertToFlexASM -asmNetworks eth1/xx.xx.xx.xx -asmListenerPort 1521

To complete ASM conversion, run the following script as privileged user in local node.
<ORACLE_BASE>/cfgtoollogs/asmca/scripts/converttoFlexASM.sh

 

<ORACLE_BASE>/cfgtoollogs/asmca/scripts/converttoFlexASM.sh

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


CRS-2672: Attempting to start ‘ora.storage‘ on ‘test2‘
CRS-2676: Start of ‘ora.storage‘ on ‘test2‘ succeeded


  echo ‘Cluster bounced in node test2‘
Cluster bounced in node test2

  

ASMCMD> showclustermode
ASM cluster : Flex mode enabled

ASMCMD> showclusterstate
Normal

Can not convert back to standard ASM cluster from Oracle Flex Cluster. From 12.2, Flex is enabled by default and cannot be disabled.

 无法从Oracle Flex Cluster转换回标准ASM群集。从12.2开始,默认情况下启用Flex,并且不能禁用它。

REFERENCES

NOTE:1968485.1 - 12c: "ORA-00600: [kfzUserPwd_nousr]" Is Reported In Flex ASM Configuration (After Set "ASM Count = 1")