ASM Instances参数介绍

原创 2017-10-18 Oracle 宅必备

这个专题讲ASM相关的内容,版本为11g

内容主要来自官方文档,加上一些自己的理解及实践

这节讲ASM Instances的参数

1. ASM及Oracle数据库版本兼容性

兼容性的值通过COMPATIBLE 参数指定

可通过V$ASM_CLIENT 视图查看(可以在数据库端或者ASM端查询)

Alt text

SOFTWARE_VERSION 表示ASM版本

COMPATIBLE_VERSION 表示兼容性的值

2. ASM实例参数

ASM支持pfile和spfile两种方式的参数文件,建议使用spfile形式

当ASM为集群时,各节点共享一个spfile

修改可使用alter system 命令

2.1 ASM内存管理

同Oracle数据库实例一样,ASM实例支持自动内存管理,自动SGA管理等

具体设置相应的参数 (MEMORY_TARGET ,SGA_TARGET)

Alt text

2.2 ASM 相关参数

下面说明一些ASM实例的参数

ASM_DISKGROUPS

该参数指定ASM在启动时需要挂载(mount)的磁盘组名称

Alt text

该参数为动态修改的,如果你使用spfile的话,ASM会在你增加(create,mount)或删除(drop,dismount)磁盘组时自动更新该参数

SQL> ALTER SYSTEM SET ASM_DISKGROUPS = 'CONTROLFILE, DATAFILE, LOGFILE, STANDBY'

如果使用的是pfile的话,每次需要手动更新该值

注意:ALTER DISKGROUP…ALL MOUNT 和 ALTER DISKGROUP…ALL DISMOUNT不会更新该参数

ASM_DISKSTRING

该参数的值已冒号分隔,表示ASM可以发现的磁盘的位置,请确保集群中各个节点的asm用户有权限访问该设备

Alt text

可以通过通配符进行匹配

如 /dev/rdsk/* 表示 搜索/dev/rdsk目录下的设备

默认值为null,表示搜索默认位置,该默认位置跟操作系统有关

ASM_POWER_LIMIT

该参数指定磁盘重平衡的速度,取值为1到11,默认值为1

Alt text

越大平衡越快,也越消耗I/O

ASM_PREFERRED_READ_FAILURE_GROUPS

我们知道normal和high 需要多个故障组,我们假设ASM集群一个磁盘组有2个故障组,A和B,分别处于不同的区域,现在A区域的数据库需要访问磁盘组的数据,如果不设置该参数则可能会读取故障组B上面的数据,这往往是我们不希望的,这时我们可以通过指定该参数来让其读取故障组A上面的数据

该参数默认值为空

Alt text

该参数只适用于集群ASM环境和Oracle RAC环境

diskgroup_name1.failure_group_name1, ...

DIAGNOSTIC_DEST

指定ASM诊断目录

Alt text

各ASM实例的位置如下:

diagnostic_dest/diag/asm/db_name/instance_name

INSTANCE_TYPE

该参数指定实例的类型,对于ASM来说该值为asm

Alt text

LARGE_POOL_SIZE

该值设定larger pool的大小,启用自动内存管理后无需设置 Alt text

PROCESSES

该值设定最大process数量,启用自动内存管理后无需设置

Alt text

REMOTE_LOGIN_PASSWORDFILE

该值设定ASM登陆是否检查密码文件,这个和Oracle数据库相同

具体查看:

操作系统认证和密码文件认证

密码文件

SHARED_POOL_SIZE

Alt text

该值设定shared_pool大小,启用自动内存管理后无需设置

3. ASM 磁盘组参数

下面是关于磁盘组的一些参数

参数讲解将在后面管理磁盘组中说到

好了,这节讲了ASM 实例相关的参数,下节讲ASM实例的管理