oracle ASM引數ASM_POWER_LIMIT以及其它一些引數詳解

不一樣的天空w發表於2017-03-20
ASM_POWER_LIMIT 引數
 這個引數 ASM_POWER_LIMIT 引數控制 ASM 後臺程式 ARBx 的數量。ARBx 程式用來進行 ASM 磁碟資料重新分佈打散。ASM_POWER_LIMIT 取值 從 0 到 11(據說從 10gR2 開始可以設定為 0,設定為0是為不做reblance,預設是1,數值越大速度越快,對效能要求更高,主機繁忙的時候需要特別注意 ). 當新新增磁碟或者刪除磁碟後,ASM 會啟動 ARBx 進行 IO 分散操作,這是個非常消耗資源的動作,所以一定要選擇系統空閒的時候進行。
關於 ASM 的條帶與分配單元
 ASM 預設的 Stripe Size 為 128K。 (一般作業系統的一個 IO 最大是 1M,對於 Block Size 為 8K 的系統,一般來說,db_file_multiblock_read_count 設定為 16 即可)。分配單元( Allocation Unit ) 是 1M,這個 AU 對應 extent 。在一些 DW 環境,隨著資料量增大,AU 會非常的多,會產生效能影響。Stripe Size 和 AU 是可以透過 ASM 例項上的兩個隱含引數調整的:
_asm_ausize
_asm_stripesize(注意最大1M,否則會有負面影響)

INSTANCE_TYPE:ASM例項要求此引數為ASM,隱含著將DB_UNIQUE_NAME設定為+ASM.
ASM_DISKSTRING:指定在磁碟發現過程應當查詢的位置,預設值是NULL。
ASM_DISKGROUPS:指定在例項啟動時要自動裝載的磁碟組的名稱,預設值是NULL。

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
   FROM SYS.x$ksppi x, SYS.x$ksppcv y
  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
_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.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2135640/,如需轉載,請註明出處,否則將追究法律責任。

相關文章