« ASM的一张体系结构简图 | Blog首页 | 如何 DUMP ASH 信息至跟踪文件 »
Oracle ASM的AU(Allocation units)分配
作者:eygle | 【转载请注出处】|【云和恩墨 领先的zData数据库一体机 | zCloud PaaS云管平台 | SQM SQL审核平台 | ZDBM 数据库备份一体机】
链接:https://www.eygle.com/archives/2009/08/oracle_asmauall.html
ASM在分配空间时,以AU为单位进行,AU即Allocation units,是组成ASM disk的基本单元。链接:https://www.eygle.com/archives/2009/08/oracle_asmauall.html
在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.
历史上的今天...
>> 2012-08-06文章:
>> 2010-08-06文章:
>> 2008-08-06文章:
>> 2007-08-06文章:
>> 2005-08-06文章:
By eygle on 2009-08-06 12:47 | Comments (12) | | 2359 |
没看清楚, 哪里可以查到 asm_stripesize?
可以查到,x$ksppi
完善的很快呀. 自我修复机制 强.
每天学习一点点!
The ASM coarse striping is always equal to the disk group AU size, but fine striping size always remains 128KB in any configuration.(11gR1 doc)
AU is ASM_disk's Unit,
Extent is ASM_File's Unit,
Strip is ASM_File's Strip.
但是怎么理解
_asm_stripewidth 8 ASM file stripe width
呢?
上面输出中asm_diskstring 怎么是空的?
asm_diskstring 不是一个必选参数的
Thanks
在Oracle 10gR2中,ASM AU的缺省单位大小是1M,相应的条带大小是128K。
在ASM中,可以通过调整_asm_ausize隐含参数的大小来进行调整,_asm_stripesize控制相应的条带化参数。
请问,ausize和stripesize,磁盘组中磁盘数目有什么关系?
_asm_ausize 和磁盘数目无关,用户可以根据数据文件的大小,磁盘组的大小来调整_asm_ausize设置,但是通常缺省设置是足够的。
如果使用外部磁盘阵列需要考虑stripesize和Raid基本块大小对齐么?