ASM在分配空间时,以AU为单位进行,AU即Allocation units,是组成ASM disk的基本单元。


在Oracle 10gR2中,ASM AU的缺省单位大小是1M,相应的条带大小是128K。

在ASM中,可以通过调整_asm_ausize隐含参数的大小来进行调整,_asm_stripesize控制相应的条带化参数。


从v$asm_diskgroup视图可以查询得到相关的信息:


SQL> select group_number,name,sector_size,block_size,allocation_unit_size from v$asm_diskgroup;



GROUP_NUMBER NAME   SECTOR_SIZE BLOCK_SIZE ALLOCATION_UNIT_SIZE

------------ ------ ----------- ---------- --------------------

           1 ARCHDG         512       4096              1048576

           2 DATADG         512       4096              1048576

在Oracle Database 11g中,可以通过类似如下语句在创建磁盘组时指定au_size:

SQL> CREATE DISKGROUP DATA DISK '/dev/raw/raw15', '/dev/raw/raw16',

'/dev/raw/raw17' ATTRIBUTE 'au_size' = '16M', 'compatible.asm' = '11.1' 'compatible.rdbms' = '11.1';

ASM允许的相关参数可以从DB的实例中查询获得,以下是一系列和asm相关的初始化参数:

SQL> SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ

  2    FROM SYS.x$ksppi x, SYS.x$ksppcv y

  3   WHERE x.indx = y.indx AND x.ksppinm LIKE '%&par%';

Enter value for par: asm

old   3:  WHERE x.indx = y.indx AND x.ksppinm LIKE '%&par%'

new   3:  WHERE x.indx = y.indx AND x.ksppinm LIKE '%asm%'



NAME                           VALUE                DESCRIB

------------------------------ -------------------- ------------------------------------------------------------

asm_diskstring                                      disk set locations for discovery

_asm_disk_repair_time          14400                seconds to wait before dropping a failing disk

asm_diskgroups                                      disk groups to mount automatically

asm_power_limit                1                    number of processes for disk rebalancing

_asm_ausize                    1048576              allocation unit size
_asm_blksize                   4096                 metadata block size

_asm_acd_chunks                1                    initial ACD chunks created

_asm_libraries                 ufs                  library search order for discovery

_asm_maxio                     1048576              Maximum size of individual I/O request

_asm_allow_only_raw_disks      TRUE                 Discovery only raw devices

_asmlib_test                   0                    Osmlib test event



NAME                           VALUE                DESCRIB

------------------------------ -------------------- ------------------------------------------------------------

_asm_allow_resilver_corruption FALSE                Enable disk resilvering for external redundancy

_asmsid                        asm                  ASM instance id

_asm_wait_time                 18                   Max/imum time to wait before asmb exits

_asm_stripewidth               8                    ASM file stripe width
_asm_stripesize                131072               ASM file stripe size

_asm_droptimeout               60                   timeout before offlined disks get dropped (in 3s ticks)

_asm_emulmax                   10000                max number of concurrent disks to emulate I/O errors

_asm_emultimeout               0                    timeout before emulation begins (in 3s ticks)

_asm_kfdpevent                 0                    KFDP event



20 rows selected.