X$KFDAT (metadata, disk-to-AU mapping table)
example:
查找spfile的au信息: sys@+ASM1> select GROUP_KFDAT,NUMBER_KFDAT,AUNUM_KFDAT from x$kfdat where fnum_kfdat=(select file_number from v$asm_alias where name='spfiletest1.ora'); GROUP_KFDAT NUMBER_KFDAT AUNUM_KFDAT ----------- ------------ ----------- 1 3 101 1 20 379
通过以上可以知道,spfile存在在1号diskgroup的3号磁盘和20号磁盘的2个au,文件所在位置在3号磁盘的相对硬盘第一个au的位置为101号,在20号磁盘相对的位置为379号.x$kfdat的AUNUM_KFDAT字段与x$kffxp视图中的au_kffxp为同一信息.我的diskgroup的为normal冗余模式,所以3.101au和20.379au为mirror关系,可以通过x$kffxp.xnum_kffxp验证,mirror的2个au相关的extent number 一致.x$kfdat与x$kffxp有些字段是关联的.
在12c的asm中,oracle在asmcmd中新增2个命令来确认asm file相关au信息,分别为mapextent以及map au:
example:
ASMCMD> mapextent '+ORCL_MYTEST/ORCL/DATAFILE/mytest.256.8332901607' 1 Disk_Num AU Extent_Size 1 211 1 0 211 1 ASMCMD> mapau usage: mapau [--suppressheader] <dg number> <disk number> <au> help: help mapau ASMCMD> mapau 1 1 107 File_Num Extent Extent_Set 261 1273 636