YH11:Oracle Flex ASM 知识库

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

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

简介

Oracle Flex ASM使Oracle ASM实例能够与数据库服务器在单独的物理服务器上运行。通过此部署,更大的Oracle ASM实例集群可以支持更多的数据库客户端,同时减少整个系统的Oracle ASM占用空间。

使用Oracle Flex ASM时,Oracle ASM客户端可以直接访问存储。

使用Oracle Flex ASM,可以将所有存储需求整合到一组磁盘组中。所有这些磁盘组由在一个集群中运行的一小组Oracle ASM实例安装和管理。可以指定具有基数设置的Oracle ASM实例的数量。默认是三个实例。

集群是提供组成员资格服务的一组节点。每个群集都有一个全局唯一的名称。每个集群都有一个或多个Hub节点。 Hub节点可以访问Oracle ASM磁盘。每个群集至少有一个私有网络和一个公共网络。如果集群要使用Oracle ASM进行存储,则它至少有一个Oracle ASM网络。单个网络可以用作私有和Oracle ASM网络。出于安全考虑,Oracle ASM网络不应公开。集群中只能运行一个Oracle Flex ASM配置。

Oracle ASM实例可以在Oracle Flex ASM中的多个配置中运行:

  • 可直接访问Oracle ASM磁盘的本地Oracle ASM客户端(标准Oracle ASM集群)
  • Oracle Flex ASM客户端可直接访问Oracle ASM磁盘
  • Oracle ACFS通过Oracle ASM代理实例访问
  • 基于网络的Oracle ASM磁盘组与Oracle IOServer(IOS)的连接

可直接访问Oracle ASM磁盘的本地Oracle ASM客户端(标准Oracle ASM集群)

使用此模式,图中所示为Hub节点A,Oracle ASM将继续支持使用同一主机上的Oracle ASM实例运行数据库客户端的现有标准架构。 仅在Hub节点上支持本地客户端体系结构。

在此配置中,数据库实例与Oracle ASM实例位于相同的Hub节点上,称为本地Oracle ASM客户端实例。 Oracle ASM元数据在Oracle ASM和数据库实例之间移动。 该客户端具有对Oracle ASM磁盘的直接I / O访问。

本地模式不使用Oracle Flex ASM,因此使用本地Oracle ASM配置的群集不需要Oracle ASM网络,也不包含其他Oracle Flex ASM服务。

Oracle Flex ASM客户端可直接访问Oracle ASM磁盘

上图中所示为Hub Node B,在Oracle ASM群集的Hub节点上运行的数据库客户机远程访问Oracle ASM以进行元数据,但是直接向Oracle ASM磁盘执行块I / O操作。运行Oracle ASM服务器和远程数据库客户端的主机必须都是Hub节点。Hub节点是Oracle ASM集群中与其他服务器紧密连接并可直接访问共享磁盘的节点。

在此配置中,数据库实例位于与附近的Oracle ASM实例不同的主机上,如图中的Hub Node C所示,称为Oracle ASM客户端实例。

数据库与Oracle ASM实例位于同一个Oracle ASM群集中,数据库实例位于Hub节点上。 Oracle ASM元数据在Oracle ASM和数据库实例之间移动。该客户端能够对Oracle ASM磁盘的直接I / O访问。

根据数据库实例和Oracle ASM实例的分布情况,数据库客户端可以在同一节点上本地访问Oracle ASM,也可以通过Oracle ASM网络远程访问。数据库客户机在Oracle ASM群集的Hub节点上使用此操作模式。直接访问模式也是Oracle ASM群集文件系统唯一支持的Oracle Flex ASM配置。

Oracle ACFS通过Oracle ASM Proxy实例访问

Oracle ASM代理实例是在具有直接Oracle ASM客户端的Hub节点上运行的Oracle实例。 Oracle ASM代理实例支持Oracle自动存储管理群集文件系统(Oracle ACFS)和Oracle ASM动态卷管理器(Oracle ADVM)。

下图显示了在Oracle Flex ASM中使用Oracle ASM代理服务器的Oracle ACFS和Oracle ADVM的配置。

对于Oracle ASM Proxy实例,INSTANCE_TYPE初始化参数设置为ASMPROXY。

基于网络的Oracle ASM磁盘组与Oracle IOServer(IOS)的连接

Oracle IOServer实例为不具有与Oracle ASM托管磁盘连接的Oracle成员集群的节点上的Oracle数据库实例提供Oracle ASM文件访问。

下图显示了成员集群中Oracle IOServer和Oracle数据库的关系。

此外,IOS使得能够在这些节点上配置客户端集群。在存储集群中,IOServer实例打开客户端发送其IO的网络端口。 IOServer实例从客户端接收数据包,并对与其他数据库客户端类似的Oracle ASM磁盘执行相应的IO。在客户端,数据库可以使用dNFS与IOServer实例进行通信。但是,没有客户端配置,因此您不需要提供服务器IP地址或任何其他配置信息。在配置为通过IOServer访问Oracle ASM文件的节点和集群上,会自动发现Oracle IOS实例。

IOS实例包含以下进程:

  • 网络进程:这些进程打开网络端口并从客户端接收dNFS请求。然后将这些请求放置在IO和Identifier进程的队列中,以便进行处理。网络进程还会从其他类型的进程中获取响应,并将响应发送回客户端。
  • 标识符进程:这些进程选择创建,删除,识别,取消标识和调整Oracle ASM文件大小的dNFS请求。
  • IO进程:这些进程对由本地IOS实例标识的文件执行实际的IO。

ASM_IO_PROCESSES初始化参数指定要在Oracle IO服务器实例中启动的IO工作进程数。有关ASM_IO_PROCESSES初始化参数的信息,请参阅ASM_IO_PROCESSES。

Shadow Copies

通过直接复制ASM的文件快速生成测试或生产数据库的克隆。

Quota Group

Quota group是在ASM磁盘中分出的物理的区间,不能分散在多个磁盘组之间,一个文件组只能属于一个quota group,但对于PDB和它的克隆数据库,则可以使用同一个quota group。

文件组可以从一个quota group 移动到另外一个quota group。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2017-04-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linux运维学习之路

Docker集群编排工具之Kubernetes(K8s)介绍、安装及使用

K8s基础原理 k8s中文社区:https://www.kubernetes.org.cn/ 简介 Kubernetes与较早的集群管理系统Mesos和YARN...

6405
来自专栏Golang语言社区

MySQL 读写分离

一 什么是读写分离 MySQL Proxy最强大的一项功能是实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理事务性查询...

4946
来自专栏安富莱嵌入式技术分享

【安富莱】【RL-TCPnet网络教程】第10章 RL-TCPnet网络协议栈移植(FreeRTOS)

本章教程为大家讲解RL-TCPnet网络协议栈的FreeRTOS操作系统移植方式,学习了第6章讲解的底层驱动接口函数之后,移植就比较容易了,主要是添加库文件、配...

602
来自专栏乐沙弥的世界

MySQL 自动故障转移工具--mysqlfailover

676
来自专栏Laoqi's Linux运维专列

mycat实现MySQL读写分离

3155
来自专栏Laoqi's Linux运维专列

linux抵御DDOS攻击 通过iptables限制TCP连接和频率

1723
来自专栏知识分享

七,ESP8266-UDP(基于Lua脚本语言)二,ESP8266 GPIO和SPI和定时器和串口

那天朋友问我为什么有UDP Sever 和 UDP Client   ,,我说:每个人想的不一样,设计上不一样...... 既然是面向无连接的,那么模块发数据就...

3907
来自专栏玩转JavaEE

Redis中的发布订阅和事务

hello,小伙伴们好久不见!前面我们说了redis中的基本数据类型,本文我们来看看redis中的发布订阅和事务,因为这两个都比较简单,因此我放在一篇文章中来讲...

690
来自专栏Netkiller

PHP高级编程之守护进程

PHP高级编程之守护进程 摘要 2014-09-01 发表 2015-08-31 更新 2015-10-20 更新,增加优雅重启 ---- 目录 1. 什么是守...

2824
来自专栏性能与架构

MySQL 5.7 多主一从的复制结构

多源复制的作用 MySQL 5.7.6 开始,添加了一个新特性:多源复制 Multi-Source Replication 可以让你同时从多个master中并行...

3459

扫描关注云+社区