love wife & love life —Roger的Oracle&MySQL技术博客

Phone:18180207355 提供专业Oracle&MySQL数据恢复、性能优化、迁移升级、紧急救援等服务

oracle 12c 中asm元数据是否有所变化

本站文章除注明转载外,均为本站原创: 转载自love wife & love life —Roger的Oracle&MySQL技术博客

本文链接地址: oracle 12c 中asm元数据是否有所变化

oracle 12c 已经发布了几个月了,最近太忙,一直没时间研究12c,今天抽空研究一下12c 中asm的元数据是否有所改变,
经过测试发现基本上毫无变化,如下是测试过程:

++++12 c asm instance

这里的file 1~file 6其实都是元数据,不多说了,以前写过很多类似的文章了。 通常来讲,我们比较关注的是
file directory和alias directory,以及disk header。

首先我们来看下file directory,先随便找个datafile 来进行说明:

这里我以datafile 6为例进行说明,其asm file number为258.

首先我们定位到file directory:

这里的au 2是元数据用的,那么对于datafile的信息来讲,就在第25号au中,且xptr.disk为1,
那么说明应该是在该diskgroup中 的第2个disk中,如下:

为什么这里是blkn=2呢 ?因为该datafile的asm file number是258,而asm中从第2个au开始(默认au 1m)是从256 号block开始,
那么这里就应该是258-256=2. 所以该文件的信息的au分配信息应该是在第2号block中.
从上面可以看到,该文件分配了6个au,每个au 大小为1m。
那么这个结果是否ok呢? 可以通过查询x$kffxp试图来进行确认,如下:

我们可以看到,完全一致。

接下来,我们继续来看下另外一个重要的asm metadata:alias directory.
从最前面的查询我们知道file 6是alias directory信息,那么也就是说alias directory的au分配信息应该是在
第2号au的第6个block中,我们来看下是否是这样:

可以看到,file 6的元数据应该在第24号au中,且xptr.disk为1. 那么:

可以看到,datafile的信息在最前面,我们来看下datafile的详细信息(cdb):

下面我们来看下pdb PDB$SEED的datafile信息,从前面可以看到应该是在第7个block中,如下:

到这里,大家可以发现相比10g和11g而已,12c中,asm的file directory和alias directory没有什么不同。
既然是这样,那么我们用12c 中自带的amdu 来抽取一个datafile试试看 ?

可以看到,amdu抽取的文件完好无损。

说明:本文仅仅是描述了file dir和alias dir,对于其他元数据,会在后面的文章继续进行描述。

One Response to “oracle 12c 中asm元数据是否有所变化”

  1. 近视眼怎么恢复 Says:

    谢谢分享 来看看

Leave a Reply

You must be logged in to post a comment.