再次使用asmcmd查看ASM spfile将会发现存在两个条目
[grid@jyrac1 trace]$ asmcmd find --type ASMPARAMETERFILE +CRSDG "*"
+CRSDG/jyrac-cluster/asmparameterfile/REGISTRY.253.928747387
+CRSDG/jyrac-cluster/asmparameterfile/spfileasm.ora
现在可以看到ASM spfile本身(REGISTRY.253.928747387)与它的别名或链接文件(spfileasm.ora)。查看spfileasm.ora可以看到它确实是注册文件(REGISTRY.253.928747387)的别名
[grid@jyrac1 ~]$ asmcmd ls -l +CRSDG/jyrac-cluster/asmparameterfile/
Type Redund Striped Time Sys Name
ASMPARAMETERFILE UNPROT COARSE JAN 12 16:00:00 Y REGISTRY.253.928745345
N spfileasm.ora => +CRSDG/jyrac-cluster/asmparameterfile/REGISTRY.253.928745345
下面再次查看磁盘/dev/raw/raw8上的30号AU的最一个块255:
[grid@jyrac1 ~]$ kfed read /dev/raw/raw8 aun=30 blkn=255
kfbh.endian: 1 ; 0x000: 0x01
kfbh.hard: 130 ; 0x001: 0x82
kfbh.type: 27 ; 0x002: KFBTYP_ASMSPFALS
kfbh.datfmt: 1 ; 0x003: 0x01
kfbh.block.blk: 255 ; 0x004: blk=255
kfbh.block.obj: 253 ; 0x008: file=253
kfbh.check: 1364026699 ; 0x00c: 0x514d654b
kfbh.fcn.base: 0 ; 0x010: 0x00000000
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000
kfspbals.incarn: 928745345 ; 0x000: 0x375b8f7b
kfspbals.blksz: 512 ; 0x004: 0x00000200
kfspbals.size: 3 ; 0x008: 0x0003
kfspbals.path.len: 44 ; 0x00a: 0x002c
kfspbals.path.buf:jyrac-cluster/asmparameterfile/spfileasm.ora ; 0x00c: length=44
现在可以看到别名文件名出现在ASM spfile别名块中。并且出现了新的incarnation号来表示新的ASM spfile文件的创建时间。
小结:
从ASM 11.2开始,ASM spfile可以被存储在ASM磁盘组中。为了支持这个功能,ASMCMD增加了相关命令来进行管理,并且在ASM磁盘头中增加了新的ASM元数据结构。