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 条评论
登录 后参与评论

相关文章

来自专栏Python与爬虫

爬虫入门到精通-环境的搭建

本文章属于爬虫入门到精通系统教程第三讲 IDE的安装 IDE我用的是VS code,也用过pycharm(但是电脑配置不行,比较卡) VScode安装教程...

4587
来自专栏性能与架构

轻量级Javascript嵌入式数据库 NeDB

在你开发一个程序时,有时可能需要一部分数据库的功能,但又不想单独安装一个,因为安装数据库还是比较麻烦的,也用不到数据库那么丰富的功能,单独安装数据库会感觉比较重...

4165
来自专栏开源优测

AutoLine源码分析之Flask初始化模块

下面我们看下在manage.py中如何调用create_app来初始化全局flask运行环境的。

1233
来自专栏Java3y

Tomcat+Servlet面试题都在这里

下面是我整理下来的Servlet知识点: ? 图上的知识点都可以在我其他的文章内找到相应内容。 Tomcat常见面试题 Tomcat的缺省端口是多少,怎么修改 ...

3403
来自专栏决胜机器学习

《Redis设计与实现》读书笔记(十五) ——Redis AOF持久化原理与实现

《Redis设计与实现》读书笔记(十五) ——Redis AOF持久化原理与实现 (原创内容,转载请注明来源,谢谢) 一、概述 AOF(Append OnFil...

3385
来自专栏散尽浮华

删除文件后,磁盘空间没有释放的处理记录

问题说明:IDC里的一台服务器的/分区使用率爆满了!已达到100%!经查看发现有个文件过大(80G),于是在跟有关同事确认后rm -f果断删除该文件。但是发现删...

2716
来自专栏Java后端技术

Linux系统基础知识整理

  本篇文章,我将结合自己的实践以及简介,来对linux系统做一个直观清晰的介绍,使得哪些刚接触Linux的小伙伴可以快速入门,也方便自己以后进行复习查阅。

1037
来自专栏点滴积累

Docker Swarm——集群管理

前言 之前在总结docker machine的时候,当时对docker理解还不够深入,甚至还不知道 docker machine 与 docker swarm ...

3507
来自专栏编程坑太多

『中级篇』在docker-swarm集群里通过serivce部署wordpress(46)

PS :不知道大家还有没有影响讲docker的多机网络的时候,多机的overlay网络的时候,使用的第三方的kv的外置的第三方的存储etcd。我们在用了swar...

1014
来自专栏Java帮帮-微信公众号-技术文章全总结

Java面试系列18-servlet

Servlet方面 01 说一说Servlet的生命周期? servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期...

3338

扫码关注云+社区