Oracle ASM概念及介绍

1.概述
ASM(AutoStorageManagement)简称自动存储管理,是一种用于管理磁盘的工具,是oracle推荐的一种智能化数据库文件存储管理,它采用OracleManaged
Files(OMF)文件格式来创建目录文件,能够在多个物理设备之间实现条带化、镜像数据文件、恢复文件等。ASM是Oracle数据库的存储解决方案。
ASM通过自动管理磁盘组来平衡I/O,通过镜像技术来实现数据文件的高可用性。文件按分配单元AU(allocationunits)平衡分布在磁盘组的所有磁盘中,ASM使用索引技术来跟踪每个AU的位置,ASM支持联机磁盘的动态增加和减少,当磁盘发生变化后,AU会自动重新实现动态分布,支持单实例Oracle数据库和OracleRAC集群环境。

2.ASM的优点
使用ASM自动存储管理减少了DBA维护数据库文件的工作量,提高了数据文件的可靠性和高性能的磁盘I/O,避免磁盘热点等,
ASM磁盘管理主要有以下几个优势:
1、自动磁盘管理:增加和删除磁盘的指令十分简单,而磁盘文件的重部署由ASM自动完成,不需要DBA的干预。无需停机,并且文件区域自动重新分配。
2、文件级镜像:通过在创建磁盘组时提供故障组,实现了文件级的冗余备份。提高了数据文件的可用性。
3、避免磁盘热点:ASM自动将一个文件的存储均衡在组中的磁盘上分布,提供条带化技术实现这种文件的均衡分布。
4、方便管理数据库文件:添加和删除文件只需要告诉磁盘组这种操作即可,具体对文件的操作、空间分配等都由ASM去管理。
5、ASM使用方便:其指令是SQL语句,对磁盘的操作都可以通过熟悉的SQL来实现。
6、ASM部署简单:相比第三方存储管理软件而言其免费提供,为中小型企业节约成本。
7、I/O分配:I/O自动分布在所有可用的磁盘上,无需人工干预,减少热点出现的可能性。
8、缓冲:ASM文件系统不进行缓冲,直接进行输入/输出。

3.ASM实例
Oracle ASM和数据库实例需要对磁盘组中的磁盘进行共享访问。OracleASM实例管理磁盘组的元数据,并向数据库实例提供文件布局信息。
OracleASM元数据是OracleASM用于控制磁盘组的信息,元数据驻留在磁盘组中。
OracleASM元数据包括以下信息:
1)属于磁盘组的磁盘
2)磁盘组中可用的空间量
3)磁盘组中文件的文件名
4)磁盘组数据文件范围的位置
5)重做日志,记录有关原子更改元数据块的信息
5)OracleADVM卷信息

ASM体系结构,主要由ASM实例及ASM磁盘组组成需要创建一个ASM实例,用于管理ASM磁盘组,ASM磁盘组由ASM磁盘组成,可以包含一个或多个ASM磁盘,ASM磁盘可以是实际的磁盘,也可以是磁盘的某个分区,或LVM管理的逻辑卷,但必须是未格式化的原始设备,ASM磁盘组的大小为该组内ASM磁盘大小的总和,可使用的容量则根据容错级别而有不同的可用大小
ASM实例及RDBMS实例
ASM实例类似于普通的数据库实例(RDBMS),同样由SGA和一堆后台进程组成。普通的RDBMS实例会定位数
据文件并打开其数据文件,而在使用ASM存储的
数据库中,该工作由ASM实例接管,即ASM实例用于定位和管理ASM磁盘,磁盘组,不能加载或打开数
据库,因此也无法读取数据字典信息。
ASM实例拥有类似于普通RDBMS实例的后台进程,如SMON,PMON,LGWR,DBWR,CKPT等,还增添了两个新进程,RBAL、ARBn。RBAL用于协调和管理磁盘组之间的动态平衡,ARBn用于完成AU的移动。ASM只能使用口令文件或操作系统身份验证作为sysasm或sysoper来启动或关闭该实例。一个ASM实例可以为多个RDBMS提供服务,通常一台主机上使用一个ASM实例,ASM实例启动之后进行创建与配置ASM磁盘组。
ASM实例并不能代替RDBMS实例来读取或写入数据文件,数据是直接在ASM磁盘和RDBMS实例传递,ASM
实例仅用于定位数据文件。

4.ASM的组成
ASM由三部分组成:ASM实例、磁盘组以及磁盘文件
4.1ASM实例
Oracle的ASM实例和普通的数据库服务器实例不同,该实例没有自已的文件系统,它只会启动相关的后台进程,挂接它所管理的磁盘组。在oracle数据中一个ASM实例可以管理多个数据库的数据库文件,所以在ASM和oracle数据库之间,二者是1:N的关系。由于oracle数据库的文件被ASM实例管理,所以要启动数据库服务器,首先要启动ASM实例,如果要关闭则先关闭RDBMS后关闭ASM实例。

2Oracle ASM概念及介绍_第1张图片

ASM实例加载DiskGroups,为数据库实例提供使用ASM文件
一个节点上有多个不同的数据库实例,则这些数据库实例共享该节点上的同一个ASM实例。如果数据库实例使用了ASM,则再数据库实例运行时不能关闭ASM实例。
可以使用OracleClusterware对OracleASM实例进行集群;每个群集节点都有一个OracleASM实例。如果同一节点上的不同数据库有多个数据库实例,则数据库实例在该节点上共享同一个OracleASM实例。

Oracle ASM概念及介绍_第2张图片

4.2ASM磁盘组
ASM提供三类镜像类型,分别是外部冗余、常规冗余、高冗余
ASM有三种镜像类型:
1)外部冗余(externalredundancy)没有镜像的一种冗余,即在磁盘组中没有故障组
2)常规冗余(normalredundancy)要求磁盘组具有二个故障组,每个故障组一个磁盘控制器。
3)高冗余(highredundancy)要求磁盘组具有三个故障组,每个故障组一个磁盘控制器

##ASMDiskASM磁盘是组成DiskGroup的存储设备,包括:
存储阵列的单个磁盘或分区
整个物理磁盘或磁盘上的分区
逻辑卷
网络存储文件(NFS)
当增加一个磁盘到DiskGroup时,可以手工设定ASM磁盘名或由ASM自动指派ASM磁盘名。ASM的磁盘名
不同于操作系统的路径名。
AllocationUnit(分配单元)
每个ASM磁盘都被划分为多个分配单元(AU),AU是DiskGroup的基本分配单位,一个文件扩展区
(FileExtent)包含一个或多个AU,而OracleASM文件则
包含一个或多个文件扩展区。当建立DiskGroup时,可以设定ASM分配单元的AU_SIZE,按照DiskGroup兼容等级,AU_SIZE可以是1、2、4、8、16、32、或64MB,较大的AU_SIZE通常能够为大量顺序读取操作提供更好的I/O性能,适用于数据仓库之类的应用系统。
Oracle建议使用4MB的AU_SIZE.

4.3ASM磁盘文件

ASM磁盘文件存储在磁盘组上,它是ASM磁盘组的一部分,一个ASM文件必须存放在一个磁盘组中,且在该磁盘组的多个磁盘上均匀分布,即该文件在磁盘组的每个磁盘上具有条带化存储,如果磁盘组具有故障组设置,则数据文件在每个故障组中都有完整的冗余备份,磁盘组的故障组实现了数据文件的冗余备份,提高了数据库文件的可用性,而条带化技术实现了I/O的平衡,避免了某个磁盘被频繁访问,使得I/O过热。
每个ASMFile都存储在单个DiskGroup中,DiskGroup可以存储的各类文件包括:

Controlfiles
Datafiles,temporarydatafiles,anddatafilecopies
SPFILEs
Onlineredologs,archivelogs,andFlashbacklogs
RMANbackups
ASMFile的命名都以加号及DiskGroup名称开始,可以用别名或以分层目录结构形式的别名来为ASMFile
命名。
例如:+dgroup_01/alias_dir/datafile.dbf

Oracle ASM概念及介绍_第3张图片

你可能感兴趣的:(数据库,oracle,数据库)