1 引入甲骨文自动存储管理
甲骨文自动存储管理、甲骨文集群文件系统和甲骨文动态容量管理是存储管理的关键组成部分。
本章概述了甲骨文自动存储管理(甲骨文),甲骨文集群文件系统(甲骨文)和甲骨文动态音量管理器(甲骨文)的概念和特点。本章载有下列专题:
在《环境卫生条例》中使用的术语列表 甲骨文自动存储管理管理员指南 及其定义,请参阅 词汇表 在这个指南里。
另见:
甲骨文科技网页(网址:
https://www.oracle.com/database/technologies/rac/asm.html甲骨文科技网页(网址:
https://www.oracle.com/database/technologies/rac/acfs.html"自动储存管理(ASM)说明书(文件编号1187723.1)" 我的先知支持 (
https://support.oracle.com)
甲骨文自动储存管理概述
甲骨文是甲骨文推荐的存储管理解决方案,提供了一个替代传统的卷管理器,文件系统和原始设备。
甲骨文是一种 音量经理 以及 文件系统 用于甲骨文数据库文件,支持单实例甲骨文数据库和甲骨文真实应用程序集群(甲骨文RAC)配置。
甲骨文公司使用的 磁盘组 存储数据文件;甲骨文ASM磁盘组是甲骨文ASM作为一个单元管理的磁盘集合。在磁盘组中,甲骨文ASM为甲骨文数据库文件公开一个文件系统接口。存储在磁盘组中的文件的内容分布均匀,以消除热点,并提供跨磁盘的统一性能。性能与原始设备的性能相当.
当数据库继续从磁盘组访问文件时,您可以从磁盘组中添加或删除磁盘。当您从磁盘组中添加或删除磁盘时,甲骨文ASM会自动重新分配文件内容,在重新分配内容时无需停机。
甲骨文的卷管理功能提供了灵活的基于服务器的镜像选项。甲骨文正常磁盘组和高冗余磁盘组分别实现双向和三方镜像。您可以使用外部冗余来启用独立磁盘(RAID)存储系统的冗余数组来执行镜像保护功能。
甲骨文还使用甲骨文管理文件(OMF)功能来简化数据库文件管理。omf在指定的位置自动创建文件。当删除表空间或文件时,omf还会命名文件并删除它们,同时放弃空间。当使用omf创建新文件时,会为新文件创建新名称,从而避免覆盖文件。
注:
由于以下三个原因,将omf用于ASM文件是最佳做法:- OSF名称保证是唯一的,所以名称冲突是避免的。此外,还消除了覆盖现有文件的风险。
- ASM在空的情况下自动删除omf目录,在删除数据库或PDB后简化清理。
- OSF名称自动符合所有文件名约束,如长度限制。
甲骨文通过将数据存储合并成少量磁盘组,减少了管理数据库存储的行政开销。较少的磁盘组合并了多个数据库的存储并提供了改进的I/O性能。
甲骨文文件可以与其他存储管理选项(如原始磁盘和第三方文件系统)并存。这种功能简化了甲骨文ASM在原有环境中的集成。
甲骨文具有易于使用的管理接口,如SQL*+、甲骨文命令行实用程序(ASMC)命令行接口和甲骨文ASM配置助理(ASMCA)。
另见:
管理甲骨文系统磁盘组 有关管理磁盘组的资料
管理甲骨文公司 有关甲骨文系统配置助理的信息
管理甲骨文公司 有关ASMC命令行接口的信息
甲骨文数据库管理员指南 有关甲骨文数据库结构和存储的信息
关于甲骨文自动存储管理集群文件系统
甲骨文自动存储管理集群文件系统和甲骨文ASM动态音量管理器扩展了甲骨文的功能。
甲骨文自动存储管理集群文件系统是一种多平台、可伸缩的文件系统和存储管理技术,扩展了甲骨文自动存储管理功能,支持所有客户文件。甲骨文的动态音量管理器(甲骨文)为客户提供数量管理服务和一个标准的磁盘设备驱动程序接口。
另见:
甲骨文自动存储管理集群文件系统 有关甲骨文和甲骨文的更多信息。
理解甲骨文的概念
关于甲骨文系统实例
甲骨文ASM实例是建立在与甲骨文数据库实例相同的技术上的。
甲骨文ASM实例具有与甲骨文数据库相似的系统全局域(SGA)和背景进程。然而,由于甲骨文SGA执行的任务少于数据库,所以甲骨文SGA要比数据库SGA小得多。此外,甲骨文对服务器的性能影响最小。甲骨文ASM实例安装磁盘组,使甲骨文ASM文件可用于数据库实例;甲骨文ASM实例不安装数据库。
甲骨文是安装在甲骨文网格基础设施家之前,甲骨文数据库安装在单独的甲骨文家。甲骨文和数据库实例需要对磁盘组中的磁盘进行共享访问。甲骨文ASM实例管理磁盘组的元数据,并向数据库实例提供文件布局信息。
甲骨文系统元数据是甲骨文系统用于控制磁盘组的信息,元数据位于磁盘组中。甲骨文公司的元数据包括以下信息:
属于磁盘组的磁盘
磁盘组中可用的空间量
磁盘组中文件的文件名
磁盘组数据文件的位置 范围 s
重做日志记录关于原子变化元数据块的信息
甲骨文预发卷信息
甲骨文ASM实例可以使用甲骨文集群软件进行集群;每个集群节点都有一个甲骨文ASM实例。如果在同一节点上有多个数据库实例用于不同的数据库,那么数据库实例在该节点上共享相同的单个甲骨文ASM实例。
如果标准的甲骨文ASM集群中的节点上的甲骨文ASM实例失败,那么该节点上的所有数据库实例也会失败。然而,在甲骨文FINFASM的配置中,甲骨文12 C 数据库实例不会失败,因为它们能够远程访问另一个节点上的另一个甲骨文ASM实例。
与文件系统驱动程序失败不同,甲骨文ASM实例失败不需要重新启动操作系统。在甲骨文RAC环境中,幸存节点上的甲骨文ASM和数据库实例自动从一个节点上的甲骨文ASM实例失败中恢复。
图1-1 显示具有一个甲骨文和多个数据库实例的单个节点配置。甲骨文ASM实例管理元数据并为甲骨文ASM文件提供空间分配。当数据库实例创建或打开甲骨文ASM文件时,它会将这些请求传递给甲骨文ASM实例。在响应中,甲骨文ASM实例向数据库实例提供文件范围映射信息。
在…中 图1-1 有两个磁盘组:一个磁盘组有四个磁盘,另一个有两个磁盘。数据库可以访问两个磁盘组.配置在 图1-1 显示多个数据库实例,但只需要一个甲骨文ASM实例来服务多个数据库实例。
图1-2 在甲骨文RAC环境中显示甲骨文ASM集群,甲骨文ASM提供集群存储池。在集群中,每个节点都有一个甲骨文实例,用于服务多个甲骨文RAC或单实例数据库。所有的数据库都合并并共享相同的两个甲骨文磁盘组。
集群存储池可由多个单实例甲骨文数据库共享,如图所示。 图1-3 .在这种情况下,多个数据库共享共同磁盘组。通过使用甲骨文集群软件实现共享甲骨文存储池。然而,在这样的环境中,甲骨文RAC许可证是不需要的。
若要在多个节点之间共享磁盘组,必须在所有节点上安装甲骨文集群软件,无论是否在节点上安装甲骨文RAC。在单独节点上的甲骨文ASM实例不需要成为甲骨文ASM集群的一部分。然而,如果甲骨文ASM实例不是甲骨文ASM集群的一部分,它们就无法相互通信。不属于甲骨文ASM集群的多个节点不能共享磁盘组。
另见:
- 管理甲骨文ASM实例 有关管理甲骨文ASM实例的信息。
管理甲骨文公司 有关甲骨文FRAM配置的信息。
关于甲骨文系统磁盘组
磁盘组由多个磁盘组成,是甲骨文管理的基本对象。
每个磁盘组包含管理磁盘组空间所需的元数据。磁盘组组件包括磁盘、文件和分配单元.
文件从磁盘组中分配。任何甲骨文SM文件都完全包含在一个磁盘组中。然而,磁盘组可能包含属于多个数据库的文件,而单个数据库可以使用来自多个磁盘组的文件。对于大多数安装,你只需要少量的磁盘组,通常是两个,很少超过三个。
另见:
管理甲骨文系统磁盘组 有关管理磁盘组的更多信息关于镜像组和失败组
镜像通过在多个磁盘上存储数据副本来保护数据的完整性。
创建磁盘组时,根据以下三个冗余级别之一指定甲骨文ASM磁盘组类型:
正常的 双向镜像
高的 用于三维镜像
外部的 不使用甲骨文ASM镜像,例如在为冗余配置硬件RAID时
冗余级别控制有多少磁盘失败是可以容忍的,而不会卸载磁盘组或丢失数据。磁盘组类型决定甲骨文在磁盘组中创建文件的镜像级别。
甲骨文镜像比传统的RAID镜像更灵活。指定为磁盘组的NORMAL 冗余,您可以为每个文件指定冗余级别。例如,两个文件可以共享同一个磁盘组,其中一个文件被镜像,而另一个则没有。
当甲骨文为镜像文件分配一个范围时,甲骨文就分配一个主副本和一个镜像副本。甲骨文ASM选择将镜像副本存储在与原始副本不同的故障组中的磁盘。故障组用于放置数据的镜像副本,以便每个副本在不同故障组的磁盘上。故障组中所有磁盘的同时故障不会导致数据丢失。
在创建甲骨文ASM磁盘组时定义磁盘组的失败组。创建磁盘组后,不能更改磁盘组的冗余级别。如果您省略了故障组规范,那么甲骨文ASM将自动地将每个磁盘放置到自己的故障组中,除了在甲骨文EXE数据单元格上包含磁盘的磁盘组之外。通常的冗余磁盘组至少需要两个失败组。高冗余磁盘组至少需要三个故障组。具有外部冗余的磁盘组不使用故障组。
另见:
管理磁盘组模板 有关磁盘组类型及模板的资料
镜像、冗余和故障组选项 有关镜像组和失败组的更多信息
关于甲骨文磁盘
甲骨文磁盘是提供给甲骨文ASM磁盘组的存储设备。
甲骨文软件磁盘的例子包括:
存储数组的磁盘或分区
整个磁盘或磁盘的分区
逻辑卷
网络附加档案
当将磁盘添加到磁盘组时,可以自动分配甲骨文ASM磁盘名或甲骨文ASM分配甲骨文ASM磁盘名。这个名称不同于操作系统使用的路径名称。在集群中,可以在不同节点上分配不同的操作系统设备名称,但磁盘在所有节点上都有相同的甲骨文ASM磁盘名称。在集群中,甲骨文ASM磁盘必须能够从共享磁盘组的所有实例中访问。
甲骨文将文件按比例分布在磁盘组中的所有磁盘上。这种分配模式将每个磁盘保持在相同的容量水平,并确保磁盘组中的所有磁盘都有相同的I/O负载。由于在磁盘组中所有磁盘之间的甲骨文ASM负载平衡,不同的甲骨文ASM磁盘不应该共享相同的物理驱动器。
关于甲骨文公司拨款单位
每个甲骨文磁盘都被划分为分配单元(AU)。
分配单元是磁盘组中分配的基本单元。文件范围由一个或多个分配单元组成。甲骨文ASM文件由一个或多个文件范围组成。
在创建磁盘组时,可以使用AU_SIZE 磁盘组属性。值可以是1,2,4,8,16,32或64MB,取决于具体的磁盘组兼容级别。较大的非盟尺寸通常为使用大顺序读取的数据仓库应用程序提供性能优势。
另见:
例4-1 举个例子来说明
AU_SIZE是由CREATEDISKGROUP质保书声明磁盘组兼容性属性设置启用的特性 有关分配单元大小和磁盘组兼容性属性的信息
文章发表于 我的先知支持 (
https://support.oracle.com)查询有关拨款单位及甲骨文系统的资料
关于甲骨文系统的文件
存储在甲骨文ASM磁盘组中的文件称为甲骨文ASM文件。
每个甲骨文ASM文件都包含在一个甲骨文ASM磁盘组中。甲骨文数据库在文件方面与甲骨文ASM通信。这与甲骨文数据库在任何文件系统中使用文件的方式相似。您可以将各种文件类型存储在甲骨文系统磁盘组中,包括:
控制文件
数据文件、临时数据文件和数据文件副本
拼接文件
在线重做日志,归档日志,和闪回日志
Rman备份
灾后恢复配置
更改追踪位图
数据泵倾卸集
作为文件创建和表空间创建的一部分,甲骨文ASM自动生成甲骨文ASM文件名。甲骨文文件名以加号开头(+ )后面跟着一个磁盘组名称。您可以为甲骨文ASM文件指定方便用户的别名,并为别名创建层次目录结构。
以下主题描述甲骨文ASM文件组件:
理解甲骨文扩展
甲骨文ASM文件的内容存储在磁盘组中,作为存储在磁盘组内单个磁盘上的一个范围集或集合。
各 范围 在单个磁盘上。部分包括一个或多个分配单元(非盟)。为了容纳越来越大的文件,甲骨文公司使用了可变大小的扩展。
可变大小扩展支持更大的甲骨文数据文件,减少非常大的数据库的SGA内存需求,提高文件创建和打开操作的性能。初始的范围大小等于磁盘组分配单元的大小,它在预先定义的阈值下增加了4或16倍。这个主题描述了不同的范围大小.
对于尺寸小于4MB的磁盘组:
大小总是等于前20000个范围集的磁盘组大小(0-19999).
范围尺寸等于下一个20000个范围(20000-39990)的4*非盟尺寸。
范围尺寸等于16*非盟尺寸的下一个20000和更高的范围集(40000+)。
对于非盟大小大于或等于4mb的磁盘组,磁盘组的rbm兼容性大于或等于11.2.0.4 ,使用应用程序块大小来支持最大文件大小,计算了大小的长度(磁盘组的非盟大小、4*非盟尺寸或16*非盟尺寸)。
当特定磁盘组兼容性属性设置为11.1 或者更高。有关兼容性属性的信息,请参阅 磁盘组兼容性 .
图1-4 显示甲骨文和分配单元的文件范围关系。前八个扩展(0到7)分布在四个甲骨文ASM磁盘上,与非盟大小相等。在第一个20000个范围集合后,下一个20000个范围集(20000-39990)的范围规模为4*非盟。这是显示为大胆的矩形标记的范围集号20000至2007-07,等等。甲骨文ASM的下一个增量是16*AU(未见 图1-4 ).
理解甲骨文的条纹
甲骨文系统有两个主要目的:平衡磁盘组中所有磁盘的负载,减少I/O延迟。
粗纹条流为磁盘组提供负载平衡,而细粒条流则通过更广泛地扩展负载来减少某些文件类型的延迟。
要对数据进行条纹处理,甲骨文将文件分离成条纹,并将数据均匀地分布到磁盘组中的所有磁盘上。在任何配置中,细粒度条纹大小总是等于128kb;这为小型I/O操作提供了较低的I/O延迟时间。粗粒条纹尺寸总是等于金粒尺寸(而不是数据范围尺寸)。
图1-5 和 图1-6 是甲骨文文件条纹的插图。在两幅插图中,分配单位的规模已定为1米(AU_SIZE =1M 由八个磁盘组成的磁盘组。实例是甲骨文11 g 发布2(11.2)和ASM和rbbi的磁盘组兼容性属性已被设置为11.2 ,因此,在前20,000个区域之后,在图形中显示可变区域。对于前20,000段,范围大小为1米,等于一个分配单元(AU)。对于接下来的20,000段,范围的大小是4米,等于4AUS。
为了识别文件中的条纹块,它们被标记为A。.X(24个字母)使用不同的字体连续系列A..X直到所有的块都被识别出来。
在…中 图1-5 ,文件以128K块的形式条纹。.x)每个128K块存储在一个范围内,从磁盘1的第一个范围开始,然后是磁盘2的第一个范围,然后在所有磁盘上继续以一个循环的方式运行,直到整个文件被条纹。如本例所示,条纹块首先填充每个磁盘的第一级,然后填充每个磁盘的第二级,以此类推,直到整个文件被条纹。
在…中 图1-6 ,文件以1m块的形式条纹。.x)每个1m块都是唯一存储的,从磁盘1的第一个范围开始,然后是磁盘2的第一个范围,然后在所有磁盘上继续以循环方式存储,直到整个文件被条纹。对于前20,000个区域,当非盟等于范围大小(1m)时,条纹等于范围大小和分配单位的大小。条纹块放在所有磁盘的第一段分配单元中,然后条纹块继续到下一个范围。
关于甲骨文文件模板
模板是用于指定磁盘区域、文件镜像和甲骨文ASM文件在创建时的划分属性的属性值集合。
在创建文件时,可以包括模板名并根据单个文件而不是文件类型分配所需的属性。
为每个甲骨文文件类型提供了默认模板,但您可以定制模板以满足唯一的需求。每个磁盘组都有一个与每个文件类型相关联的默认模板.
另见:
管理磁盘组模板 有关甲骨文模板的更多信息
理解甲骨文磁盘组管理
关于发现磁盘
磁盘发现过程定位为甲骨文ASM可以访问的磁盘的操作系统名称。
磁盘发现找到要安装的构成磁盘组的所有磁盘。发现的磁盘集还包括可以添加到磁盘组的磁盘。
甲骨文ASM实例需要ASM_DISKSTRING 初始化参数值以指定其发现字符串.只发现甲骨文ASM实例具有打开权限的路径名称。发现字符串的确切语法取决于各种因素,如平台和甲骨文出口数据盘是否使用。操作系统接受的路径名称总是可以作为发现字符串使用.
另见:
软木弦 如欲查询有关
ASM_DISKSTRING初始化参数甲骨文磁盘发现 有关磁盘发现的资料
管理甲骨文ASM筛选驱动程序 有关甲骨文过滤器驱动程序的信息
关于安装和卸载磁盘组
在数据库实例能够访问磁盘组中的文件之前,磁盘组必须由本地的甲骨文ASM实例安装。
安装磁盘组需要发现所有磁盘并在正在安装的磁盘组中定位文件。
您可以显式地卸载磁盘组。如果您试图在任何磁盘组文件打开时在没有力选项的情况下卸载磁盘组,甲骨文都会报告错误。磁盘故障可能超过甲骨文ASM冗余设置。如果发生这种情况,则强制卸载磁盘组。如果强制卸载磁盘组,则数据库无法访问磁盘组中的文件。
另见:
安装和卸载磁盘组 有关磁盘组的更多信息
关于添加和删除磁盘
可以将磁盘添加到现有磁盘组中,以添加空间并提高吞吐量。
指定的发现字符串标识可以添加的磁盘.您添加的磁盘必须由使用其ASM_DISKSTRING 初始化参数。在添加磁盘后,甲骨文ASM重新平衡操作将数据转移到新磁盘上。为了最大限度地减少重新平衡I/O,同时添加多个磁盘会更有效。
如果磁盘组失败或要重新使用容量,可以从磁盘组中删除磁盘。使用甲骨文软件磁盘名来删除磁盘,而不是发现字符串设备名。如果写入磁盘时发生错误,则甲骨文ASM将磁盘自动删除。
另见:
改变磁盘组 有关更改磁盘组成员的更多信息
关于在线存储重组和动态再平衡
重新平衡磁盘组在磁盘之间移动数据,以确保每个文件平均分布于磁盘组中的所有磁盘。
当所有文件均匀分布时,所有磁盘都被均匀地填充到相同的百分比;这确保了负载平衡。重新平衡不会重新定位基于I/O统计的数据,也不会根据I/O统计开始重新平衡。甲骨文再平衡操作是由磁盘组中磁盘的大小控制的。
在存储配置更改后,例如当您添加、删除或调整磁盘大小时,甲骨文ASM会自动启动重新平衡。功率设置参数决定了重新平衡运行的速度。
您可以手动启动重新平衡,以改变运行重新平衡的功率设置。如果重新平衡运行的实例停止,重新平衡将自动重新启动。在重新平衡业务期间,数据库可以继续运行。
您可以通过设置ASM_POWER_LIMIT 初始化参数。







