签到成功

知道了

CNDBA社区CNDBA社区

Orcle 12c 新特性---Oracle Flex ASM

2017-08-10 17:34 2766 0 原创 Oracle 12c rac
作者: Expect-乐

 说明

这里引入官方文档对该特性说明及其优点:

Oracle Real Application Cluster (RAC) Oracle 解决方案中的一个著名产品,用于保持业务数据的高可用性。Oracle RAC 允许在所有集群节点之间共享负载,采用 N-1 容错配置来应对节点故障,其中 N 是节点总数。Oracle RAC 一直在不断改进每个版本,此次也不例外。新的 12.1.0.1 版包含“Flex ASM”和“Flex 集群”两个属性,支持面向云计算的环境的各种苛刻需求。

Oracle RAC 12c 引入了两个新概念:

中心节点: 和以前的版本一样,它们通过专用网络相互连接,并且可以直接访问共享存储。这些节点可以直接访问 Oracle 集群注册表 (OCR) 和表决磁盘 (VD)

叶节点: 这些节点是轻型节点,彼此不互连,也不能像中心节点一样访问共享存储。每个叶节点与所连接的中心节点通信,并通过所连接的中心节点连接到集群。http://www.cndba.cn/Expect-le/article/2090http://www.cndba.cn/Expect-le/article/2090

此拓扑允许松散耦合的应用服务器与紧密耦合的数据库服务器形成一个集群。紧密耦合的服务器是中心服务器,与集群中的其他中心服务器共享数据库、OCR 和表决设备的存储并进行对等通信。松耦合的服务器是叶服务器,与集群中的单个中心服务器形成松散通信关联,不需要与集群中的其他中心服务器或叶服务器共享存储,也不需要与之进行对等通信,只与所关联的中心服务器通信。在 12.1.0.1 中,叶服务器旨在提高应用的高可用性和实现多层资源管理。

Oracle 12c 之前,对于要使用 ASM 的数据库实例来说,所有节点上的 ASM 实例必须已处于运行状态,才能启动数据库实例。如果 ASM 实例未运行,则意味着在存储级使用 ASM 的数据库实例不能启动。这实际上意味着无论采用何种技术(即 RACASM 和共享存储),均不能访问数据库实例。

http://www.cndba.cn/Expect-le/article/2090

随着 Oracle 12c 的推出,一个名为 Oracle Flex ASM 的特性解除了上述限制,它的一个主要特性是故障切换到集群中的其他节点。本质上是一个中心和叶架构,Oracle Clusterware 通过一个替代 ASM 实例将故障节点的连接将无缝转移到另一个成员节点。在给定集群中运行的 ASM 实例数被称作 ASM 基数,默认值为 3。但此基数值可以使用 Clusterware 命令修改。

Oracle Flex 集群http://www.cndba.cn/Expect-le/article/2090

从架构上来说,Oracle Flex 集群包括一个中心和叶架构,其中只有中心节点可以直接访问 Oracle 集群注册表 (OCR) 和表决磁盘 (VD)。但是应用可以通过叶节点访问数据库,而不必在叶节点上运行 ASM 实例。通过中心节点连接到数据库使得它对应用透明。

1:描绘了一个典型的 Oracle Flex 集群,包含 4 个叶节点和 2 个中心节点。简单地说,Oracle Flex 集群需要 Oracle Flex ASM

 

标准 Oracle Flex ASM 配置:

http://www.cndba.cn/Expect-le/article/2090


Oracle Flex ASM 配置上的 ASM 实例故障:


可以看出,从12c开始Oracle RAC故障转移能力更强,更高可用。下面就研究一下。

 

注意:普通ASM可以转换到Flex ASM,但是不可以到过来转换

官方文档:

http://www.cndba.cn/Expect-le/article/2090

http://docs.oracle.com/database/121/OSTMG/GUID-BC1A02CA-1355-4013-A874-1896C4EAB266.htm

实验

首先安Oracle 12C R1 RAC(Flex ASM)

如下图:


2.1   环境

GRID:12.1.0.2

Database:12.1.0.2

2.2   查看是否启用Flex ASM

--节点1

[grid@rac1 ~]$ asmcmd showclustermode
ASM cluster : Flex mode enabled

--节点2

[grid@rac2 ~]$ asmcmd showclustermode

ASM cluster : Flex mode enabled

2.3   查看asm状态

--节点1

[grid@rac1 ~]$ srvctl status asm -detail
ASM is running on rac1,rac2
ASM is enabled.

[grid@rac1 ~]$ srvctl config  asm -detail
ASM home: <CRS home>
Password file: +OCR_VOTING/orapwASM
ASM listener: LISTENER
ASM is enabled.
ASM is individually enabled on nodes:
ASM is individually disabled on nodes:
ASM instance count: 3
Cluster ASM listener: ASMNET1LSNR_ASM

--节点2

[grid@rac2 ~]$ srvctl status asm -detail
ASM is running on rac1,rac2
ASM is enabled.

[grid@rac2 ~]$ srvctl config  asm -detail
ASM home: <CRS home>
Password file: +OCR_VOTING/orapwASM
ASM listener: LISTENER
ASM is enabled.
ASM is individually enabled on nodes:
ASM is individually disabled on nodes:
ASM instance count: 3
Cluster ASM listener: ASMNET1LSNR_ASM

2.4   查看Flex ASM连接数

[grid@rac1 ~]$ asmcmd lsct data
DB_Name  Status     Software_Version  Compatible_version  Instance_Name  Disk_Group
+ASM     CONNECTED        12.1.0.2.0          12.1.0.2.0  +ASM1          DATA      
cndba    CONNECTED        12.1.0.2.0          12.1.0.2.0  cndba1         DATA
cndba    CONNECTED        12.1.0.2.0          12.1.0.2.0  cndba2         DATA

2.5   关闭节点1ASM实例

--查看节点1的数据库状态及进程

http://www.cndba.cn/Expect-le/article/2090

SQL> show pdbs;

    CON_ID CON_NAME	  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
 2 PDB$SEED	  READ ONLY  NO
 3 SIHONG	  READ WRITE NO

SQL> select open_mode,name from v$database;
OPEN_MODE	     NAME
-------------------- ---------
READ WRITE	     CNDBA

[root@rac1 software]# ps -ef|grep pmon
oracle    6347     1  0 15:12 ?        00:00:00 ora_pmon_cndba1
root      9451  1808  0 15:21 pts/1    00:00:00 grep --color=auto pmon
grid     16270     1  0 13:35 ?        00:00:00 mdb_pmon_-MGMTDB
grid     26646     1  0 12:43 ?        00:00:00 asm_pmon_+ASM1

--停止节点1ASM实例

[grid@rac1 ~]$ srvctl stop asm -node rac1 -stopoption abort -force

--查看ASM pmon进程,可以看到asm_pmon_+ASM1进程没了

http://www.cndba.cn/Expect-le/article/2090

[root@rac1 software]# ps -ef|grep pmon
oracle    6347     1  0 15:12 ?        00:00:00 ora_pmon_cndba1
root      9954  1808  0 15:23 pts/1    00:00:00 grep --color=auto pmon
grid     16270     1  0 13:35 ?        00:00:00 mdb_pmon_-MGMTDB

--查看节点1ASM实例状态

http://www.cndba.cn/Expect-le/article/2090

[grid@rac1 ~]$ srvctl status asm
ASM is running on rac2  --可以看到ASM值在rac1上运行

--检查集群服务状态

http://www.cndba.cn/Expect-le/article/2090

[grid@rac1 ~]$ crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online

--查看ASMRAC数据的进程

[root@rac1 software]# ps -ef|grep pmon
oracle    6347     1  0 15:12 ?        00:00:00 ora_pmon_cndba1
root      9954  1808  0 15:23 pts/1    00:00:00 grep --color=auto pmon
grid     16270     1  0 13:35 ?        00:00:00 mdb_pmon_-MGMTDB

数据库进程还在,ASM进程已经没了。

2.6   再次查看节点1数据库状态

SQL> select instance_name,instance_number from gv$instance;

INSTANCE_NAME	 INSTANCE_NUMBER
---------------- ---------------
cndba2	       2
cndba1	       1

SQL> select instance_name,instance_number from v$instance;

INSTANCE_NAME	 INSTANCE_NUMBER
---------------- ---------------
cndba2	       2

可以看到对于一个任意一个节点的ASM实例的意外关闭/启动,都不会影响该节点上的数据库状态。这大大增强了RAC的高可用性。

参考文档:

http://www.oracle.com/technetwork/cn/articles/database/flexasm-flexcluster-benefits-odb12c-2177371-zhs.html

http://docs.oracle.com/database/121/OSTMG/GUID-545C311D-24C6-421A-ACBE-CA29E1FDA0A6.htm

版权声明:本文为博主原创文章,未经博主允许不得转载。

Flex ASM

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Expect-乐

Expect-乐

关注

Without the continuous bitter cold, there can be no fragrant plum blossom

  • 336
    原创
  • 6
    翻译
  • 100
    转载
  • 41
    评论
  • 访问:1366940次
  • 积分:1957
  • 等级:核心会员
  • 排名:第3名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ