Planning
File extents relocation
Disk compacting
Where the third one is the compact phase. This attempts to move data as close as possible to the outer tracks of the disks ASM is using. This I/O-heavy phase is completely pointless on a flash system, where I/O is served evenly from any logical address within a LUN.
We have always seen rebalancing taking to much time due to tis compact mode .
Before 12c, we cannot see compact phase on v$asm_operation view at asm level. If one see EST_MINUTES shows as ‘0’ and waiting for long time, probably its is doing compact. This can be confirmed by seeing system state dump from ASM level and mostly we will see no blocking session and waits are “kfk:async IO”
You can therefore avoid that potentially-massive I/O hit by disabling the compact phase, using the underscore parameter _DISABLE_REBALANCE_COMPACT=TRUE
For 12c onwards, you can use the command below to skip the compact phase:
ALTER DISKGROUP <DG_NAME> SET ATTRIBUTE '_rebalance_compact'='FALSE';
Tuning ASM rebalance operations
The new EXPLAIN WORK FOR statement in 12c measures the amount of work required for a given ASM rebalance operation and inputs the result in V$ASM_ESTIMATE dynamic view. Using the dynamic view, you can adjust the POWER LIMIT clause to improve the rebalancing operation work. For example, if you want to measure the amount of work required for adding a new ASM disk, before actually running the manual rebalance operation, you can use the following:
SQL> EXPLAIN WORK FOR ALTER DISKGROUP DG_DATA ADD DISK data_005;SQL> SELECT est_work FROM V$ASM_ESTIMATE;
SQL> EXPLAIN WORK SET STATEMENT_ID='ADD_DISK' FOR ALTER DISKGROUP DG_DATA AD DISK data_005;
SQL> SELECT est_work FROM V$ASM_ESTIMATE WHERE STATEMENT_ID = 'ADD_DISK’;
You can adjust the POWER limit based on the output you get from the dynamic view to improve the rebalancing operations.
Reference :
MOS Note 1902001.1 – What is ASM rebalance compact Phase and how it can be disabled
Hi,
ReplyDeleteSo if we are using 12c and above version asm we must run
ALTER DISKGROUP SET ATTRIBUTE '_rebalance_compact'='FALSE';
for all existing disk group right?
How to find current or default value of this attribute
Setting this attribute will redcude io if we add an future disks right?
Will there be any negative impact if we set this parameter
So if we are using 12c and above version asm we must run
DeleteALTER DISKGROUP SET ATTRIBUTE '_rebalance_compact'='FALSE';
for all existing disk group right?
>>>> user Data diskgroups.
How to find current or default value of this attribute
>>>>>>>>>> V$ASM_ATTRIBUTE
Setting this attribute will redcude io if we add an future disks right?
>>>>>>>>>> Yes
Will there be any negative impact if we set this parameter
>>>>>>>>>> no if u r using flash storage
Hi @abdul thanks for the Note. Is it recommended to disable with '_' underscore parameter with Oracle team confirmation?
ReplyDeleteYes why not . Before changing raise sr and get oracle support and ur storage team concurrence that u r using flash storage and after they confirm u can proceed. all hidden and underscore parameters and special attributes can be if coming from oracle support... test in non prod first always
DeleteGreat...........
ReplyDelete