RBAL:ASM重平衡主后台进程,协调磁盘重平衡活动。此进程在RDBMS实例中也存在
ASMB:用来和CSS进程交互,主要用在第一次和ASM实例进行连接时以及心跳机制的实现
GMON:磁盘组监视进程,管理磁盘组的兼容性以及监视磁盘组中的离线磁盘。如果GMON进程在磁盘组中发现了离线磁盘,它会创建Bnnn(最多5个)进程来跟踪磁盘的离线时间。如果离线磁盘可以在指定的磁盘修复时间(disk repair time)内恢复在线状态,那么这个磁盘就不会被删除。DRnn(磁盘重同步子进程)会重新同步之前离线的磁盘。存在于RDBMS实例中的MARK进程,会跟踪重同步时需要的extents
VBGn:卷组后台进程,和ACFS功能相关。处理OS卷驱动和ASM实例之间的通信。最多可以有9个
VDBG:传输磁盘组上的ASM指定到ADVM进程(ASM共太卷组管理器)
VMB0:代表ADVM维护集群程成员身份
ACFS:ASM集群文件系统CSS进程,跟踪节点和集群之间的组成关系。一旦有节点被踢出集群,相应的信息会传递到ACFS进程。该进程主要用来保证文件系统级别的一致性
ARBn:ASM重平衡子进程,是真正进行重平衡操作,在磁盘间移动数据extents的进程。当重平衡结束时,Xnnn(磁盘驱逐子进程)会从磁盘组中移除删掉的磁盘
Onnn和OCFn进程负责处理元数据操作
在标准冗余和高度冗余的磁盘组中,如果主extent损坏,ASM会自动去读备份的extent。ASM会试图生成Rnnn进程来进行异步读
参数
在Oracle11.2 之前,ASM实例可以使用pfile或者spfile,按照惯例这些文件一般放置在$ORACLE_HOME/dbs下。
ASM11.2只使用spfile。默认情况下,RAC环境中的spfile并不在$GRID_HOME/dbs,集群的ASM 是用GPnP来定位spfile(单实例的ASM依赖OLR定位spfile),如果找不到,再去$GRID_HOME/dbs下查找。如下我的例子:
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DATA/ol5-112-scan/asmparameterfile/registry.253.820266595
ASM实例的初始化参数不多。唯一需要的参数是“instance _type”设置为“ASM”,“alter system”命令和企业管理器都可以用来修改. 下面是一些参数的介绍:
CLUSTER_DATABASE: 如果是集群部署需要设置为TRUE
INSTANCE_TYPE: ASM实例需要设置为ASM
ASM_DISKSTRING: Oracle在查找磁盘时所查找的位置. 当一个新的磁盘被加到磁盘组里,ASM实例就会在这个参数指定的目录下进行查找.此参数默认为NULL.使用ASMlib的话也不需要修改此参数(已经被设置为ORCL:*).使用其它方式时需要修改此参数,比如udev或设备多路径映射(device mapper mulpathing)
ASM_PREFERRRED_READ_FAILURE_GROUPS: Oracle11.1出现了preferred mirror read特性. 对于extended distance clusters有用(减少延迟). 可以指定为由逗号分割的故障组名称,如果设置此参数, 需要正确的制定alter ststem命令的scope子句
ASM_POWER_LIMIT: 当磁盘组中添加或删除磁盘时, ASM在现有磁盘间移动文件extents. 此参数用来控制这一过程的进度, 取值范围1(最慢,资源占用小)--11(最快,资源占用多)
ASM_DISKGROUPS: 此参数是动态的(使用spfile的情况),在磁盘组创建,删除,加载时会更新. 除了ASM内的mount操作外, srvctl start disgroup -g diskgroupName 也可以挂载磁盘组. 此参数指定的磁盘组会在ASM实例启动时自动挂载
DIAGNOSTIC_DEST: ASM和DB一样使用ADR. ASM的ADR home可能在$GRID_HOME/log/或者$ORACLE_BASE/diag,使用adrci时需要正确设置ADR Home
PROCESSES: 默认设置以及可以满足大部分环境,如果是多个数据库访问一个ASM实例,那么可以考虑增加这个参数的设置,ASM实例后台进程也在这个参数的范围内
提示: 内存相关的参数一般不用修改,比如shared_pool_size和large_pool_size, 如果使用自动内存管理的话
故障组
如果磁盘控制器损坏,那么连接到这个控制器的所有磁盘都不能访问了. ASM定义了故障组的概念,每组磁盘是单点故障(比如磁盘控制器) 独立的. 为了保证冗余,每个镜像必须放置到不同的故障组中.
ASM11.2中引入了一种特殊的故障组(quorum failure group). 用在远距离集群(extended distance clusters)中.当表决文件放置在ASM中时, quorum故障组不包含用户数据,也不用来满足磁盘组冗余的需求