Oracle ASM的AU(Allocation units)分配
作者:
eygle |
English Version
【转载时请以超链接形式标明文章
出处和作者信息及
本声明】
链接: http://www.eygle.com/archives/2009/08/oracle_asmauall.html
链接: http://www.eygle.com/archives/2009/08/oracle_asmauall.html
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;在Oracle Database 11g中,可以通过类似如下语句在创建磁盘组时指定au_size:
GROUP_NUMBER NAME SECTOR_SIZE BLOCK_SIZE ALLOCATION_UNIT_SIZE
------------ ------ ----------- ---------- --------------------
1 ARCHDG 512 4096 1048576
2 DATADG 512 4096 1048576
SQL> CREATE DISKGROUP DATA DISK '/dev/raw/raw15', '/dev/raw/raw16',ASM允许的相关参数可以从DB的实例中查询获得,以下是一系列和asm相关的初始化参数:
'/dev/raw/raw17' ATTRIBUTE 'au_size' = '16M', 'compatible.asm' = '11.1' 'compatible.rdbms' = '11.1';
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.