ASM Virtually addressed metadata-File Directory

前面一一介绍了Physically addressed metadata,现在来聊聊ASM的Virtually addressed metadata,它与Physically addressed metadata不同,虽然也是元数据,但是是以ASM文件的形式存在,由于ASM条带化的特性,所以Virtually addressed metadata是分布在磁盘组的所有磁盘上的。本小节为大家介绍的是ASM非常重要的元数据–ASM的1号文件(File Directory),它描述了ASM磁盘中所有ASM文件(包括File Directory自身的所有。
Virtually addressed metadata)的文件大小、文件类型、冗余、条带化(粗粒度或者细粒度)以及asm文件的extent map等信息,x$kffxp的信息大量来自于File Directory。
File Directory的第一个extent所在位置由第一个extent所在的asm磁盘的磁盘头kfdhdb.f1b1locn(file 1 block 1 location)指定,通常对于External redundancy的磁盘组,在创建时默认File Directory的第一个extent都在disk 0上,其余磁盘的磁盘头kfdhdb.f1b1locn都为0,当add或者drop磁盘发生REBALANCE时,File Directory的第一个extent可能会移动到其他磁盘上。

通过f1b1locn我们可以找到File Directory的block 0(KFBTYP_LISTHEAD),也是File Directory的第一个block

  • block_kfbh.obj:asm文件号
  • block_kfbh.blk:位于该asm文件的块号,对于File Directory(1号文件)来说block_kfbh.blk也代表ASM文件号,表示这个元数据块是该asm文件号的File Directory
  • kfffdb.node.incarn:文件的incarnation号
  • kfffdb.hibytes:文件大小(high bytes)
  • kfffdb.lobytes:文件大小(low bytes)
  • kfffdb.xtntcnt:文件的物理extent数量
  • kfffdb.flags: 文件标识
  • kfffdb.fileType:文件类型
index filetype
1 control file
2 data file
3 on-line log
4 archived log
6 temporary file
8 any other type
9 datafile backup piece
10 datafile incremental backup piece
11 archivelog backup piece
12 datafile copy
13 Persistent Initialization Parameter
14 Disaster Recovery Configuration
15 ASM metadata file
16 Change Tracking File
17 Flashback Log File
18 data pump dump file
19 Cross platform Converted datafile
20 Autobackup
21 any Operating System file
22 Block Dump File – should not have OSD block header
23 Cluster Synchronization Services voting file
24 Oracle Cluster Registry file
25 ASM Staleness Registry
26 ASM Volume Device file
27 ASM Volume Dirty Region Log file
28 Password file
29 ADR AMS relation file
30 Oracle Cluster Registry backup file
31 ASM spfile type
32 Flash file type
33 ASM spfile backup type
34 External Table I/O
35 datafile xtt backup piece
36 Spillover OS Audit file
37 datafile xtt inc backup piece
38 AKM KeyStore I/O
39 AKM AutoLogin KeyStore I/O
40 ORS block pool
41 SQL LOADER file type
42 availability machine container
  • kfffdb.blkSize:文件的块大小,如默认数据文件块大小8k,控制文件16k等等
  • kfffdb.strpwdth:条带带宽
  • kfffdb.strpsz:条带大小
  • kfffdb.crets:文件创建时间(hi为高位,lo为低位)
  • kfffdb.modts:文件修改时间(hi为高位,lo为地位)
  • kfffdb.xtntblk:Direct extent条目数加上indirect extent条目数
  • kfffdb.break: Direct extent和indirect extent分界线,前60个条目为Direct extent,61开始都为indirect extent
  • kfffde[0-59]:前60个File Directory条目直接指向文件的物理extent所在位置,称为Direct extent pointer,kfffde[n].xptr表示指向该文件第n个物理extent的extent pointer
  • kfffde[60+]:60以后的File Directory条目指向一个名为Indirect的元数据,再由Indirect block里的Directory条目(kffixe)指向文件的物理extent所在位置,称为Indirect extent pointer,一个Indirect block可以容纳480个指向物理extent所在位置的条目,kffixe[n].xptr表示指向该文件第(60+kfbh.block.blk*480+n)个物理extent的extent pointer

当ASM磁盘组无法mount时,如果需要通过amdu抽取文件的话,就非常依赖于file directory和at,如果这些元数据有损坏将无法通过amdu进行抽取。但是可以通过odu进行抽取。

此条目发表在Oracle, Oracle Recover分类目录,贴了, , 标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注