赞
踩
1.ASM概述
ASM是一个卷管理器,将多个磁盘做一个磁盘组来管理.数据在ASM上是均匀分布的,因此避免了热读,提高了性能,性能的RAW差不多.
ASM支持磁盘热插拔,在增加减少磁盘后,ASM会自动的重分布数据,不需要停机.
ASM在软件级别实现了镜像,有三种冗余方式:普通(双重镜像)、高级(三重镜像)、外部(无镜像),避免了因磁盘损坏而导致的数据丢失.在使用了RAID时,可以使用外部冗余方式.
ASM使用OMF管理数据文件.OMF会自动确定文件地点和名称.
一个ASM磁盘组可以被多个数据库使用.
ASM磁盘组可以与其它文件系统共存,如RAW\磁带等.
ACFS(Oracle Automatic Storage Management Cluster File System)自动管理的集群文件系统是一个多平台、可伸缩系统,可以支持非ORACLE的群集文件系统。
ADVM(Oracle ASM Dynamic Volume Manager)ASM动态空间管理器 提供了容量管理功能和标准的对外磁盘接口。
ASM可以用SQLPLUS 、ASMCMD、Oracle ASM Configuration Assistant 、OEM来管理。
ASM实例
ASM实例使用了与ORACLE数据库一样的技术,包括SGA和后台进行。ASM需要的SGA较小,对系统的影响也不大。
ASM是用Oracle Grid Infrastructure 软件安装的。ASM与数据库有不同的ORACLE_HOME。ASM实例维护ASM元数据。ASM元数据用于管理磁盘组,元数据组保存在磁盘组内,包括:
The disks that belong to a disk group 磁盘信息
The amount of space that is available in a disk group 磁盘组总容量
The filenames of the files in a disk group 磁盘组和文件名
The location of disk group data file extents 文件块的位置
A redo log that records information about atomically changing metadata blocks 记录元数据块变化的日志文件
Oracle ADVM volume information ADVM信息
可以用ASM做集群,当一个节点失效后,如一个节点上的ASM停止后,该结点上的数据库实例也停止(说明数据库实例与ASM实例是以应对的),不过其它结点上的ASM实例和数据库实例依然可用。(PS:应该算是伪群集,ASM停了实例也要停。。)
在一台服务器上,一个ASM实例支持多个数据库,每个数据库都可以访问这两个磁盘组:
RAC中,每个实例只与同一个节点上的ASM实例相连,但是所有ASM实例之间都是相连的,数据库实例通过本节点上的ASM实例连接整个磁盘组:
要使用集群的ASM,必须要在每个安装ASM的结点上安装Oracle Clusterware ,做了集群后,每个ASM实例都能连接到同样的磁盘组。
一个磁盘组可以支持多个实例,一个实例也可以使用多个磁盘组,不过大多数情况下,两个磁盘组足够,极少情况下使用三个磁盘组。
镜像和故障组
有三种镜像模式:
normal:两重镜像。需要两个磁盘组,互为故障组。
high:三重镜像。需要三个磁盘组,互为故障组
exteral:不提供镜像。
ASM将主区(extents)和镜像区放在不同的故障组,当一个故障组损坏时,另一个依然可用。
在创建磁盘组时,指定故障组,一旦创建了磁盘组,就不能修改镜像模式。
ASM磁盘
ASM磁盘可由以下组成
磁盘或磁盘的分区、逻辑卷、网络盘(NFS)
将磁盘加入磁盘组时,可以设定磁盘的名称,该名称不同于OS磁盘名称。ASM根据磁盘容量将数据平均的分布到每个磁盘上,以确保每个磁盘有相同的I/O性能,所以不同种类的ASM磁盘不应许放到同一个磁盘组中。
分配单元Allocation Units
AU是基本的ASM单元。在创建磁盘组时指定AU大小 AU_SIZE ,AU_SIZE 参数可是1,2,4,8,16,32,64MB,根据磁盘的兼容性等级compatibility level来设定。大的AU常用于数据仓库中,可以提高性能。
ASM文件
可以存储以下文件:
Control files
Data files, temporary data files, and data file copies
SPFILEs
Online redo logs, archive logs, and Flashback logs
RMAN backups
Disaster recovery configurations
Change tracking bitmaps
Data Pump dumpsets
ASM自动管理文件名。
分区extents
一个ASM文件包含一个或多个extents,一个extents包含一个或多个AU,大文件使用可变的分区。
可以变的分区大小(兼容性参数在11.1或以上时):
A.0 - 19999分区,分区大小=AU大小
B.20000 - 39999的分区,分区大小=AU*4
C.40000+的分区,分区大小=AU*16
ASM条带化(Oracle ASM Striping)
条带化有两项功能:A.将负载平均的分配到磁盘组的每个磁盘 B.减少I/O延迟
条带化的细粒度是128K,粗粒度大小与AU相同,细粒度用于较小的I/O读写。细粒度条带化示例,AU=1M,变化的区间:
在一个磁盘中,写满一个AU再写下一个AU。
细粒度条带化示例:
在每个AU中都依次写入一个字母,当所有的AU中都放入一个字母后,在每个AU中写入第二个字母。
文件模板File Templates
模板用于指定一属性,如文件镜像、条带化设置等。创建文件时使用模板,可以简化操作。内置了一个默认模板,可以修改这个模板来实现修改化功能,每个磁盘组都有一个默认的模板。
ASM磁盘组管理
发现磁盘About Discovering Disks
disk discovery process进行通过ASM_DISKSTRING 参数来寻找ASM磁盘。
加载和卸载ASM磁盘组About Mounting and Dismounting Disk Groups
磁盘组必须被本地的ASM实例加载才能被数据库使用。加载时,需要找到所有ASM磁盘。
卸载已经打开的磁盘组时,如果不加force选项将会报错。
添加和删除磁盘About Adding and Dropping Disks
可以将磁盘加入到一个已经存在的磁盘组中,前提是这个磁盘必须在ASM_DISKSTRING中。在加入磁盘后,ASM自动的重分布数据从而将数据写到这个磁盘上。为了减少重分布时的I/O,应该将多个磁盘一起加到磁盘组中(To minimize the rebalancing I/O, it is more efficient to add multiple disks at the same time.)
当磁盘有问题时可以卸载磁盘,要使用ASM磁盘的名字卸载。 如果磁盘无法读写,ASM自动卸载这个磁盘
删除磁盘时也会数据重分布。
在线存储重组和动态重分布About Online Storage Reconfigurations and Dynamic Rebalancing
当文件被打散后,每个磁盘上该文件都占有相同的百分比,这是为负载均衡。重分布数据不是基于I/O状况,而是基于磁盘容量(的变化)。当磁盘组容量发生变化后,ASM自动进行重分布。可以设置重分布的速率。在重分布运行时,重新执行重分布可以设置重分布的速率。重分布期间,数据库是可用的。POWER_LIMIT
设置重分布速率。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。