6 Replies Latest reply: Sep 7, 2010 4:45 AM by Muhammad.Usman RSS

    confusion about required_mirror_free_mb in asm

    Muhammad.Usman
      Hi!

      i have confusion about required_mirror_free_mb in asm.

      i have 6 disks with normal redundancy and 4 failgroups.

      SQL> select STATE,TOTAL_MB,FREE_MB ,NAME,FAILGROUP from v$asm_disk;

      STATE TOTAL_MB FREE_MB NAME FAILGROUP
      -------- ---------- ---------- ------------------------------ ------------------------------
      NORMAL 2047 1421 ASMDISK1 FG1
      NORMAL 2047 1424 ASMDISK2 FG1
      NORMAL 2047 1424 ASMDISK3 FG2
      NORMAL 2047 1424 ASMDISK4 FG2
      NORMAL 2047 1423 ASMDISK5 ASMDISK5
      NORMAL 2047 1422 ASMDISK6 ASMDISK6

      6 rows selected.

      Almost all 6 disk have same space consumption.

      SQL> select GROUP_NUMBER,DISK_NUMBER,STATE,TOTAL_MB,FREE_MB ,NAME from v$asm_disk;

      GROUP_NUMBER DISK_NUMBER STATE TOTAL_MB FREE_MB NAME
      ------------ ----------- -------- ---------- ---------- ------------------------------
      1 0 NORMAL 2047 1421 ASMDISK1
      1 1 NORMAL 2047 1424 ASMDISK2
      1 2 NORMAL 2047 1424 ASMDISK3
      1 3 NORMAL 2047 1424 ASMDISK4
      1 4 NORMAL 2047 1423 ASMDISK5
      1 5 NORMAL 2047 1422 ASMDISK6

      6 rows selected.

      SQL>



      SQL> select name, type, total_mb, free_mb, required_mirror_free_mb,usable_file_mb from v$asm_diskgroup;

      NAME TYPE TOTAL_MB FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
      ------------------------------ ------ ---------- ---------- ----------------------- --------------
      DATA NORMAL 12282 8538 4094 2222

      SQL>

      Here is my question that how asm desides REQUIRED_MIRROR_FREE_MB i.e 4GB in above case........
      please can anybody answer me.....
      regards
      M.usman
        • 1. Re: confusion about required_mirror_free_mb in asm
          Sebastian Solbach -Dba Community-Oracle
          Hi,

          does this:

          Note 798458.1 Incorrect Usable_file_mb Calculation

          answer your question?

          Sebastian
          • 2. Re: confusion about required_mirror_free_mb in asm
            Muhammad.Usman
            thank you for answering me....

            no i just want to know that why required_mirror_free_mb is 4GB.
            i am not asking about Usable_file_mb Calculation.
            i give you an example.....like in my case i have 6 Disks each of 2 gb in size And 4 Failgroups FG1,FG2,ASMDISK5 and ASMDISK6.

            FG1
            ASMDISK1
            ASMDISK2

            FG2
            ASMDISK3
            ASMDISK4

            ASMDISK5

            ASMDISK6
            Total space 2gb*6=12GB
            for database used=3.39GB
            Now required_mirror_free_mb is 4GB.
            12gb-3.39GB-4GB=4.61
            Normal redundancy 4.61/2=2.305....this is Usable_file_mb


            But............
            if i delete ASMDISK5,ASMDISK6

            Total space becomes Total space 2gb*4=8GB
            for database used is still=3.39GB
            But required_mirror_free_mb has changed from 4GB to 2GB.
            8gb-3.39GB-2GB=4.61=2.61
            Normal redundancy 2.61/2=1.305....this is Usable_file_mb

            So how and Why required_mirror_free_mb has change...


            Please answer....if a am wrong anywhere do tell me....

            regards
            M.usman
            • 3. Re: confusion about required_mirror_free_mb in asm
              Sebastian Solbach -Dba Community-Oracle
              Hi M.usman,

              sorry this entry was wrong. Hence removed.

              Sebastian

              Edited by: ssolbach on Sep 6, 2010 1:16 AM
              • 4. Re: confusion about required_mirror_free_mb in asm
                Muhammad.Usman
                thank you for your reply...now confusion has increased even more....

                now i have change configuration a bit....

                STEp 1)

                i have 6 Disks each of 2 gb in size And 3 Failgroups FG1,FG2,FG3.

                FG1
                ASMDISK1
                ASMDISK2

                FG2
                ASMDISK3
                ASMDISK4

                FG3
                ASMDISK5
                ASMDISK6

                SQL> select GROUP_NUMBER,DISK_NUMBER,STATE,TOTAL_MB,FREE_MB ,NAME from v$asm_disk;

                GROUP_NUMBER DISK_NUMBER STATE TOTAL_MB FREE_MB NAME
                ------------ ----------- -------- ---------- ---------- ------------------------------
                1 0 NORMAL 2047 1420 ASMDISK1
                1 1 NORMAL 2047 1418 ASMDISK2
                1 2 NORMAL 2047 1420 ASMDISK3
                1 3 NORMAL 2047 1419 ASMDISK4
                1 4 NORMAL 2047 1421 ASMDISK5
                1 5 NORMAL 2047 1420 ASMDISK6

                6 rows selected.


                SQL> select name, type, total_mb, free_mb, required_mirror_free_mb,usable_file_mb from v$asm_diskgroup;

                NAME TYPE TOTAL_MB FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
                ------------------------------ ------ ---------- ---------- ----------------------- --------------
                DATA NORMAL 12282 8518 4094 2212

                required_mirror_free_mb=4GB as you said that mirroring is per failgroup so it means that the largest failure could occur is that any failgroup fails,failgroup comprises of 2 2gb disk so its 4gb.


                STEp 2)
                I deleted two disks 5 and 6 in FG3

                now i have two failgroups FG1 and FG2

                FG1
                ASMDISK1
                ASMDISK2

                FG2
                ASMDISK3
                ASMDISK4

                SQL> select GROUP_NUMBER,DISK_NUMBER,STATE,TOTAL_MB,FREE_MB ,NAME from v$asm_disk;

                SQL> select STATE,TOTAL_MB,FREE_MB ,NAME,FAILGROUP from v$asm_disk;

                STATE TOTAL_MB FREE_MB NAME FAILGROUP
                -------- ---------- ---------- ------------------------------ ------------------------------
                NORMAL 2047 0
                NORMAL 2047 0
                NORMAL 2047 1128 ASMDISK1 FG1
                NORMAL 2047 1127 ASMDISK2 FG1
                NORMAL 2047 1128 ASMDISK3 FG2
                NORMAL 2047 1127 ASMDISK4 FG2

                6 rows selected.


                SQL> select name, type, total_mb, free_mb, required_mirror_free_mb,usable_file_mb from v$asm_diskgroup;

                NAME TYPE TOTAL_MB FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
                ------------------------------ ------ ---------- ---------- ----------------------- --------------
                DATA NORMAL 8188 4510 *2047* 1231

                Now still the largest failure could occur is that any failgroup fails,failgroup comprises of 2 2gb disk so its agian 4gb.
                But here its showing 2gb here i am confused.
                Maybe my concept is wrong please help ...please dont mind anything that i am again n again asking questions.
                • 5. Re: confusion about required_mirror_free_mb in asm
                  Sebastian Solbach -Dba Community-Oracle
                  Hi Muhammad,

                  pls forget what I have written before. That was incorrect.

                  Here is the correct explanation: If you look at Note 798458.1 Incorrect Usable_file_mb Calculation and the documentation you will find the following:

                  "REQUIRED_MIRROR_FREE_MB indicates the amount of space that must be available in a disk group to restore full redundancy after the worst failure that can be tolerated by the disk group."

                  Unfortunately the worst case in your 2 scenarios is defferent (hence the diffent number):

                  If you have 6 disks in 3 FGs then the worst failure scenario is
                  - failure of a whole failgroup (ca. 1.420 + 1.420 GB) +
                  - failure of one disks in either of the 2 surviving diskgroups (another ca. 1.2 GB, which is the result after re-mirroring of the survining DGs- you can see that is 1127 which is the number after you deletet one FG).

                  In your other case, where you only have 4 disks in 2 FG then the worst failure scenario (to still maintain normal redundancy) is failure of 1 disk:
                  - Failure of one disk with maximum containing data of 2047 (since this is the size of the disk).

                  Hope that clarifies it.

                  Sebastian

                  Edited by: ssolbach on Sep 6, 2010 1:15 AM
                  • 6. Re: confusion about required_mirror_free_mb in asm
                    Muhammad.Usman
                    thank you for giving me time...really appreciated...