asm磁盘组不同创建方式compatible.asm的差异
概述
今天在11204中使用create diskgroup创建的磁盘组,使用asmcmd lsattr或者v$asm_attribute里面查询不到磁盘组的任何属性,比较奇怪。最后发现与COMPATIBLE.ASM属性有关。
COMPATIBLE.ASM属性指定了可以使用磁盘组的ASM实例的最低软件版本。 这个属性也会影响ASM元数据结构的格式。
创建asm磁盘组的方式常见的3种:
- sqlplus登录create diskgroup语句;
- asmca图形化创建
- asmca -silent静默创建
本文研究以上不同的3种创建方式,compatible.asm的差异
11204
create diskgroup
SQL> create diskgroup archdg external redundancy disk '/dev/asm_arch02' ATTRIBUTE 'AU_SIZE'='4M';
Diskgroup created.
asmca图形化
advanced options没有修改都为默认的。
asmca -silent
[grid@11gasm ~]$ asmca -silent -createDiskGroup -diskGroupName testdg -diskList '/dev/asm_arch03' -redundancy EXTERNAL
Disk Group testdg created successfully.
查看asm兼容性参数值
v$asm_diskgroup.COMPATIBILITY查询:
SQL> col COMPATIBILITY for a20
SQL> col DATABASE_COMPATIBILITY for a20
SQL> select GROUP_NUMBER,NAME,BLOCK_SIZE
2 ,STATE
3 ,TYPE
4 ,TOTAL_MB
5 ,FREE_MB
6 ,OFFLINE_DISKS
7 ,COMPATIBILITY
8 ,DATABASE_COMPATIBILITY
9 ,VOTING_FILES
10 from v$asm_diskgroup
11 order by 1;
GROUP_NUMBER NAME BLOCK_SIZE STATE TYPE TOTAL_MB FREE_MB OFFLINE_DISKS COMPATIBILITY DATABASE_COMPATIBILI V
1 ARCHDG 4096 MOUNTED EXTERN 2048 1976 0 **10.1.0.0.0** 10.1.0.0.0 N
2 DATADG 4096 MOUNTED EXTERN 10240 3120 0 11.2.0.4.0 11.2.0.0.0 N
3 TESTDG 4096 MOUNTED EXTERN 2048 1996 0 **11.2.0.0.0** 10.1.0.0.0 N
4 HAHADG 4096 MOUNTED EXTERN 3072 2992 0 **11.2.0.0.0** 10.1.0.0.0 N
asmcmd lsattr查询:
[grid@11gasm ~]$ asmcmd lsattr -G hahadg -l
Name Value
access_control.enabled FALSE
access_control.umask 066
au_size 4194304
cell.smart_scan_capable FALSE
compatible.asm 11.2.0.0.0
compatible.rdbms 10.1.0.0.0
disk_repair_time 3.6h
sector_size 512
[grid@11gasm ~]$ asmcmd lsattr -G testdg -l
Name Value
access_control.enabled FALSE
access_control.umask 066
au_size 1048576
cell.smart_scan_capable FALSE
compatible.asm 11.2.0.0.0
compatible.rdbms 10.1.0.0.0
disk_repair_time 3.6h
sector_size 512
[grid@11gasm ~]$ asmcmd lsattr -G archdg -l
Name Value
此时lsattr查询磁盘组的属性是空的。v$asm_attribute视图也是没有这个磁盘组得信息。
原因就是asm兼容性参数太低,导致很多特性都用不了。
通过以下修改,增大兼容性参数的值,就又可以使用了。
SQL> alter diskgroup archdg set attribute ‘compatible.asm’=‘11.2.0.0.0’;
Diskgroup altered.
[grid@11gasm ~]$ asmcmd lsattr -G archdg -l
Name Value
access_control.enabled FALSE
access_control.umask 066
au_size 4194304
cell.smart_scan_capable FALSE
compatible.asm 11.2.0.0.0
compatible.rdbms 10.1.0.0.0
disk_repair_time 3.6h
sector_size 512
compatible.asm值
创建方法 | compatible.asm |
---|---|
create diskgroup | 10.1.0.0.0 |
asmca图形化 | 11.2.0.0.0 |
asmca -silent | 11.2.0.0.0 |
19c
create diskgroup
SQL> create diskgroup archdg external redundancy disk '/dev/asm_arch02' ATTRIBUTE 'AU_SIZE'='4M';
Diskgroup created.
asmca -silent
SQL> !asmca -silent -createDiskGroup -diskGroupName testdg -diskList '/dev/asm_arch01' -redundancy EXTERNAL
[INFO] [DBT-30001] Disk groups created successfully. Check /u01/app/grid/cfgtoollogs/asmca/asmca-200617PM094434.log for details.
由于19c磁盘不足,所以先查询,在删除,再用图形化创建。
SQL> set pages 1000 lines 1000
SQL> col COMPATIBILITY for a20
SQL> col DATABASE_COMPATIBILITY for a20
SQL> select GROUP_NUMBER,NAME,BLOCK_SIZE
2 ,STATE
3 ,TYPE
4 ,TOTAL_MB
5 ,FREE_MB
6 ,OFFLINE_DISKS
7 ,COMPATIBILITY
8 ,DATABASE_COMPATIBILITY
9 ,VOTING_FILES
10 from v$asm_diskgroup
11 order by 1;
GROUP_NUMBER NAME BLOCK_SIZE STATE TYPE File Size (MB) FREE_MB OFFLINE_DISKS COMPATIBILITY DATABASE_COMPATIBILI V
1 ARCHDG 4096 MOUNTED EXTERN 10,240 10156 0 **11.2.0.2.0** 10.1.0.0.0 N
2 DATADG 4096 MOUNTED EXTERN 5,120 4 0 19.0.0.0.0 10.1.0.0.0 N
3 OCRDG 4096 MOUNTED NORMAL 6,144 5188 0 19.0.0.0.0 10.1.0.0.0 Y
4 TESTDG 4096 MOUNTED EXTERN 2,048 1988 0 **19.0.0.0.0** 10.1.0.0.0 N
asmcmd lsattr查询
[grid@19crac1 ~]$ asmcmd lsattr -G archdg -l
Name Value
access_control.enabled FALSE
access_control.umask 066
au_size 4194304
cell.smart_scan_capable FALSE
compatible.asm 11.2.0.2.0
compatible.rdbms 10.1.0.0.0
disk_repair_time 12.0h
idp.boundary auto
idp.type dynamic
sector_size 512
[grid@19crac1 ~]$ asmcmd lsattr -G testdg -l
Name Value
access_control.enabled FALSE
access_control.umask 066
appliance._partnering_type GENERIC
ate_conversion_done true
au_size 1048576
cell.smart_scan_capable FALSE
cell.sparse_dg allnonsparse
compatible.advm 19.0.0.0.0
compatible.asm 19.0.0.0.0
compatible.rdbms 10.1.0.0.0
content.check FALSE
content.type data
content_hardcheck.enabled FALSE
disk_repair_time 12.0h
failgroup_repair_time 24.0h
idp.boundary auto
idp.type dynamic
logical_sector_size 512
phys_meta_replicated true
preferred_read.enabled FALSE
scrub_async_limit 1
scrub_metadata.enabled TRUE
sector_size 512
thin_provisioned FALSE
vam_migration_done false
很明显,compatible.asm 为11.2和19.0时,查询到的磁盘组的属性个数都不一样。
asmca图形化
先drop,在创建
SQL> drop diskgroup testdg ;
Diskgroup dropped.
asmca
advanced options没有修改都为默认的。其中sector size可选,默认为空
查看asm兼容性参数值
v$asm_diskgroup.COMPATIBILITY查询:
SQL> set pages 1000 lines 1000
SQL> set pages 1000 lines 1000
SQL> col COMPATIBILITY for a20
SQL> col DATABASE_COMPATIBILITY for a20
SQL> select GROUP_NUMBER,NAME,BLOCK_SIZE
2 ,STATE
3 ,TYPE
4 ,TOTAL_MB
5 ,FREE_MB
6 ,OFFLINE_DISKS
7 ,COMPATIBILITY
8 ,DATABASE_COMPATIBILITY
9 ,VOTING_FILES
10 from v$asm_diskgroup
11 order by 1;
GROUP_NUMBER NAME BLOCK_SIZE STATE TYPE TOTAL_MB FREE_MB OFFLINE_DISKS COMPATIBILITY DATABASE_COMPATIBILI V
1 ARCHDG 4096 MOUNTED EXTERN 10240 10156 0 11.2.0.2.0 10.1.0.0.0 N
2 DATADG 4096 MOUNTED EXTERN 5120 4 0 19.0.0.0.0 10.1.0.0.0 N
3 OCRDG 4096 MOUNTED NORMAL 6144 5188 0 19.0.0.0.0 10.1.0.0.0 Y
4 HAHADG 4096 MOUNTED EXTERN 2048 1956 0 **19.0.0.0.0** 10.1.0.0.0 N
asmcmd lsattr查询:
[grid@19crac1 ~]$ asmcmd lsattr -G hahadg -l
Name Value
access_control.enabled FALSE
access_control.umask 066
appliance._partnering_type GENERIC
ate_conversion_done true
au_size 4194304
cell.smart_scan_capable FALSE
cell.sparse_dg allnonsparse
compatible.advm 19.0.0.0.0
compatible.asm 19.0.0.0.0
compatible.rdbms 10.1.0.0.0
content.check FALSE
content.type data
content_hardcheck.enabled FALSE
disk_repair_time 12.0h
failgroup_repair_time 24.0h
idp.boundary auto
idp.type dynamic
logical_sector_size 512
phys_meta_replicated true
preferred_read.enabled FALSE
scrub_async_limit 1
scrub_metadata.enabled TRUE
sector_size 512
thin_provisioned FALSE
vam_migration_done false
sector_size有512字节和4K选择,但是默认为512.
compatible.asm值
创建方法 | compatible.asm |
---|---|
create diskgroup | 11.2.0.2.0 |
asmca图形化 | 19.0.0.0.0 |
asmca -silent | 19.0.0.0.0 |
总结
1)创建asm磁盘组选择的方式不同,compatible.asm的值不同。但是compatible.rdbms的值都是默认一致的,为10.1.0.0.0,没看出什么影响
2)sqlplus使用create diskgroup创建的时候必须指定asm兼容性参数,oracle默认的不能满足需求。
11204
create diskgroup testdg external redundancy disk ‘/dev/asm_arch03’ ATTRIBUTE ‘AU_SIZE’=‘4M’,‘compatible.asm’=‘11.2’;
19c
create diskgroup testdg external redundancy disk ‘/dev/asm_arch03’ ATTRIBUTE ‘AU_SIZE’=‘4M’,‘compatible.asm’=‘19.0’;