Oracle 11g下asm磁盘组”REQUIRED_MIRROR_FREE_MB“大小测试

Oracle 11g下asm磁盘组”REQUIRED_MIRROR_FREE_MB“大小测试

Oracle asm的参数实在太多,看了官方文档对”required_mirror_free_mb“参数还是意识模糊,所以干脆自己做测试来验证。

环境:Oracle 11.2.0.4 RAC

下面总共分6个场景,使用normal冗余在不同数量失败组、asm盘数量,测试”required_mirror_free_mb“可用空间

场景一:2个失败组,每个失败组fg一个磁盘,看大小

create diskgroup test normal redundancy 
failgroup fg1 disk '/dev/asm_1g_1' size 1g 看大小
failgroup fg2 disk '/dev/asm_1g_2' size 1g 
ATTRIBUTE 'au_size'='4M';
SQL> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,NAME,FAILGROUP,PATH,FAILGROUP_TYPE from v$asm_disk order by path;

GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU MODE_ST STATE    NAME       FAILGROUP  PATH                 FAILGRO
------------ ----------- ------- ------------ ------- -------- ---------- ---------- -------------------- -------
           4           0 CACHED  MEMBER       ONLINE  NORMAL   TEST_0000  FG1        /dev/asm_1g_1        REGULAR
           4           1 CACHED  MEMBER       ONLINE  NORMAL   TEST_0001  FG2        /dev/asm_1g_2        REGULAR
SQL> select name,state,total_mb/1024 total_gb,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup where name='TEST';

NAME       STATE         TOTAL_GB    FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
---------- ----------- ---------- ---------- ----------------------- --------------
TEST       MOUNTED              2       1904                       0            952

REQUIRED_MIRROR_FREE_MB=0

场景二、2个失败组,每个fg 二个磁盘,看大小

create diskgroup test normal redundancy 
failgroup fg1 disk '/dev/asm_1g_1' size 1g 
failgroup fg1 disk '/dev/asm_1g_2' size 1g 
failgroup fg2 disk '/dev/asm_1g_3' size 1g  
failgroup fg2 disk '/dev/asm_1g_4' size 1g  
ATTRIBUTE 'au_size'='4M';
SQL> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,NAME,FAILGROUP,PATH,FAILGROUP_TYPE from v$asm_disk where name like 'TEST%' order by path;

GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU MODE_ST STATE    NAME       FAILGROUP  PATH                 FAILGRO
------------ ----------- ------- ------------ ------- -------- ---------- ---------- -------------------- -------
           4           0 CACHED  MEMBER       ONLINE  NORMAL   TEST_0000  FG1        /dev/asm_1g_1        REGULAR
           4           1 CACHED  MEMBER       ONLINE  NORMAL   TEST_0001  FG1        /dev/asm_1g_2        REGULAR
           4           2 CACHED  MEMBER       ONLINE  NORMAL   TEST_0002  FG2        /dev/asm_1g_3        REGULAR
           4           3 CACHED  MEMBER       ONLINE  NORMAL   TEST_0003  FG2        /dev/asm_1g_4        REGULAR
SQL> select name,state,total_mb/1024 total_gb,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup where name='TEST';

NAME       STATE         TOTAL_GB    FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
---------- ----------- ---------- ---------- ----------------------- --------------
TEST       MOUNTED              4       3936                    1024           1456

REQUIRED_MIRROR_FREE_MB=1g

场景三:2个失败组,每个fg 三个磁盘,看大小

create diskgroup test normal redundancy 
failgroup fg1 disk '/dev/asm_1g_1' size 1g 
failgroup fg1 disk '/dev/asm_1g_2' size 1g 
failgroup fg1 disk '/dev/asm_1g_3' size 1g 
failgroup fg2 disk '/dev/asm_1g_4' size 1g  
failgroup fg2 disk '/dev/asm_1g_5' size 1g  
failgroup fg2 disk '/dev/asm_1g_6' size 1g 
ATTRIBUTE 'au_size'='4M';
SQL> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,NAME,FAILGROUP,PATH,FAILGROUP_TYPE from v$asm_disk where name like 'TEST%' order by path;

GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU MODE_ST STATE    NAME       FAILGROUP  PATH                 FAILGRO
------------ ----------- ------- ------------ ------- -------- ---------- ---------- -------------------- -------
           4           0 CACHED  MEMBER       ONLINE  NORMAL   TEST_0000  FG1        /dev/asm_1g_1        REGULAR
           4           1 CACHED  MEMBER       ONLINE  NORMAL   TEST_0001  FG1        /dev/asm_1g_2        REGULAR
           4           2 CACHED  MEMBER       ONLINE  NORMAL   TEST_0002  FG1        /dev/asm_1g_3        REGULAR
           4           3 CACHED  MEMBER       ONLINE  NORMAL   TEST_0003  FG2        /dev/asm_1g_4        REGULAR
           4           4 CACHED  MEMBER       ONLINE  NORMAL   TEST_0004  FG2        /dev/asm_1g_5        REGULAR
           4           5 CACHED  MEMBER       ONLINE  NORMAL   TEST_0005  FG2        /dev/asm_1g_6        REGULAR

6 rows selected.
SQL> select name,state,total_mb/1024 total_gb,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup where name='TEST';

NAME       STATE         TOTAL_GB    FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
---------- ----------- ---------- ---------- ----------------------- --------------
TEST       MOUNTED              6       5968                    1024           2472

REQUIRED_MIRROR_FREE_MB=1g

场景四:3个失败组,每个fg一个磁盘,看大小

create diskgroup test normal redundancy failgroup fg1 disk '/dev/asm_1g_1' size 1g failgroup fg2 disk '/dev/asm_1g_2' size 1g  failgroup fg3 disk '/dev/asm_1g_3' size 1g ATTRIBUTE 'au_size'='4M';
SQL> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,NAME,FAILGROUP,PATH,FAILGROUP_TYPE from v$asm_disk order by path;
GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU MODE_ST STATE    NAME       FAILGROUP  PATH                 FAILGRO
------------ ----------- ------- ------------ ------- -------- ---------- ---------- -------------------- -------
           4           0 CACHED  MEMBER       ONLINE  NORMAL   TEST_0000  FG1        /dev/asm_1g_1        REGULAR
           4           1 CACHED  MEMBER       ONLINE  NORMAL   TEST_0001  FG2        /dev/asm_1g_2        REGULAR
           4           2 CACHED  MEMBER       ONLINE  NORMAL   TEST_0002  FG3        /dev/asm_1g_3        REGULAR
SQL> select name,state,total_mb/1024 total_gb,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup where name='TEST';

NAME       STATE         TOTAL_GB    FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
---------- ----------- ---------- ---------- ----------------------- --------------
TEST       MOUNTED              3       2856                    1024            916

REQUIRED_MIRROR_FREE_MB=1g

场景五:3个失败组,每个fg 二个磁盘,看大小

create diskgroup test normal redundancy 
failgroup fg1 disk '/dev/asm_1g_1' size 1g 
failgroup fg1 disk '/dev/asm_1g_2' size 1g 
failgroup fg2 disk '/dev/asm_1g_3' size 1g  
failgroup fg2 disk '/dev/asm_1g_4' size 1g  
failgroup fg3 disk '/dev/asm_1g_5' size 1g  
failgroup fg3 disk '/dev/asm_1g_6' size 1g 
ATTRIBUTE 'au_size'='4M';
SQL> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,NAME,FAILGROUP,PATH,FAILGROUP_TYPE from v$asm_disk where name like 'TEST%' order by path;

GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU MODE_ST STATE    NAME       FAILGROUP  PATH                 FAILGRO
------------ ----------- ------- ------------ ------- -------- ---------- ---------- -------------------- -------
           4           0 CACHED  MEMBER       ONLINE  NORMAL   TEST_0000  FG1        /dev/asm_1g_1        REGULAR
           4           1 CACHED  MEMBER       ONLINE  NORMAL   TEST_0001  FG1        /dev/asm_1g_2        REGULAR
           4           2 CACHED  MEMBER       ONLINE  NORMAL   TEST_0002  FG2        /dev/asm_1g_3        REGULAR
           4           3 CACHED  MEMBER       ONLINE  NORMAL   TEST_0003  FG2        /dev/asm_1g_4        REGULAR
           4           4 CACHED  MEMBER       ONLINE  NORMAL   TEST_0004  FG3        /dev/asm_1g_5        REGULAR
           4           5 CACHED  MEMBER       ONLINE  NORMAL   TEST_0005  FG3        /dev/asm_1g_6        REGULAR

6 rows selected.
SQL>  select name,state,total_mb/1024 total_gb,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup where name='TEST';

NAME       STATE         TOTAL_GB    FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
---------- ----------- ---------- ---------- ----------------------- --------------
TEST       MOUNTED              6       5904                    2048           1928

REQUIRED_MIRROR_FREE_MB=2g

场景六:3个失败组,每个fg 三个磁盘,看大小

create diskgroup test normal redundancy 
failgroup fg1 disk '/dev/asm_1g_1' size 1g 
failgroup fg1 disk '/dev/asm_1g_2' size 1g 
failgroup fg1 disk '/dev/asm_1g_3' size 1g 
failgroup fg2 disk '/dev/asm_1g_4' size 1g  
failgroup fg2 disk '/dev/asm_1g_5' size 1g  
failgroup fg2 disk '/dev/asm_1g_6' size 1g 
failgroup fg3 disk '/dev/asm_1g_7' size 1g  
failgroup fg3 disk '/dev/asm_1g_8' size 1g 
failgroup fg3 disk '/dev/asm_1g_9' size 1g 
ATTRIBUTE 'au_size'='4M';
SQL> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,NAME,FAILGROUP,PATH,FAILGROUP_TYPE from v$asm_disk where name like 'TEST%' order by path;

GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU MODE_ST STATE    NAME                 FAILGROUP  PATH                 FAILGRO
------------ ----------- ------- ------------ ------- -------- -------------------- ---------- -------------------- -------
           4           0 CACHED  MEMBER       ONLINE  NORMAL   TEST_0000            FG1        /dev/asm_1g_1        REGULAR
           4           1 CACHED  MEMBER       ONLINE  NORMAL   TEST_0001            FG1        /dev/asm_1g_2        REGULAR
           4           2 CACHED  MEMBER       ONLINE  NORMAL   TEST_0002            FG1        /dev/asm_1g_3        REGULAR
           4           3 CACHED  MEMBER       ONLINE  NORMAL   TEST_0003            FG2        /dev/asm_1g_4        REGULAR
           4           4 CACHED  MEMBER       ONLINE  NORMAL   TEST_0004            FG2        /dev/asm_1g_5        REGULAR
           4           5 CACHED  MEMBER       ONLINE  NORMAL   TEST_0005            FG2        /dev/asm_1g_6        REGULAR
           4           6 CACHED  MEMBER       ONLINE  NORMAL   TEST_0006            FG3        /dev/asm_1g_7        REGULAR
           4           7 CACHED  MEMBER       ONLINE  NORMAL   TEST_0007            FG3        /dev/asm_1g_8        REGULAR
           4           8 CACHED  MEMBER       ONLINE  NORMAL   TEST_0008            FG3        /dev/asm_1g_9        REGULAR

9 rows selected.
SQL>  select name,state,total_mb/1024 total_gb,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup where name='TEST';

NAME                 STATE         TOTAL_GB    FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
-------------------- ----------- ---------- ---------- ----------------------- --------------
TEST                 MOUNTED              9       8952                    3072           2940


REQUIRED_MIRROR_FREE_MB=3g

总结

normal冗余下
当失败组大于2的时候,比如3个失败组,REQUIRED_MIRROR_FREE_MB大小为其中一个失败组的大小
当失败组小于3的时候,比如2个失败组,REQUIRED_MIRROR_FREE_MB大小为失败组之中一个asm磁盘的大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值