设为首页 加入收藏

TOP

ORACLEAUTOMATICSTORAGEMANAGEMENT翻译-第十章ASM内置数据结构(2)(一)
2015-07-24 11:01:05 来源: 作者: 【 】 浏览:1
Tags:ORACLEAUTOMATICSTORAGEMANAGEMENT 翻译 ASM 内置 数据结构

Free SpaceTable(FST)

FST指明了ATB中包含的空闲空间。当磁盘被选择分配时ASM会生成一个磁盘FST。这个允许ASM跳过被ATBs占用的空间。FST包含每个ATB的条目。每个条目描述了extents size的总数和空闲extents。FST的目的是优化分配操作。事实上FST位于AllocationTable中。FST位于每个AT的第二个block(block 1)。

PartnershipStatus Table(PST)

PST跟踪磁盘组资格和磁盘间的配合关系。ASM生成PST来判断使用一组在线磁盘挂载磁盘组是否满足需要。磁盘组中的每一块磁盘保留第二个AU(AU 1)给PST使用。然而任何时候,一个磁盘组只有一定数量的活跃PSTs。PST的数量取决于磁盘组冗余度和失效组数(Failure Group)。外部冗余磁盘组有一个PST。如果至少存在3个失效组Normal-redundancy磁盘组包含3个PSTs。然而,normal-redundancy磁盘组每个失效组有一个PST。High-redundancy磁盘组有5个PST如果有足够的失效组存在。然而,high-redundancy磁盘组中每个失效组有一个PST。

PST是影子分页用来保证磁盘上的活跃PST总是一致的,及时PST跨越多个block。AU 1满足写两份PST的需要。一份是活跃的拷贝,其他拷贝用于PST更新时使用。一旦更新PST完毕,从前的影子变成了活跃的PST,同时另外一份拷贝变成了影子供下一次更新使用。RDBMS管理控制文件就是用类似的技术。

PST第一部分的信息是关于PST自己的:

n Versionnumber

n Timestamp

n PSTsize(number of disks)

n Numberof PST copies

n Listof disk containing the PST

n Valueof compatible.asm(if COMPATIBLE.ASM>=11.1)

ASM存储在PST中存放COMPATIBLE.ASM减少存储的数量,这个信息的修改需要提交修改到成员。真如本章描述磁盘头的章节中,ASM同样更新所有磁盘头的COMPATIBLE.ASM值,阻止10g软件产品挂载不兼容的磁盘组,而ORACLE DATABASE 11g使用PAT中的值。

PST包含一组描述磁盘组中每一块盘的条目。对于每块盘来说,PST跟踪如下内容:

n disk status(如磁盘时online还是offline)

n 成员的数量

n 成员列表

PST的最后一个block保存磁盘组的心跳。ASM使用这个块来保障磁盘组不会再不同的集群中同时被挂载。就像RAC,ASM在Cluster Synchronization Service(CSS)的保护下以免在集群中脑裂。PST心跳是阻止集群上脑裂的额外的机制。这就像RDBMS写控制文件时的心跳避免非同一个集群的两个实例同时mount一个数据库

通常,磁盘组必须可以访问一定数目的PST才能挂载磁盘组。Normal-redundancy磁盘组需要2个失效磁盘组high-redundancy磁盘组需要5个一下的失效磁盘组的退化情况,需要更少的PST来挂载磁盘组。

虚拟元数据

虚拟元数据存储在ASM文件中。目录是ASM实例通过排他方式访问的源数据文件。目录文件号开始于1。不但RDBMS实例可以注册保存ASM文件,ASM实例也可以。注册号在255一下。文件号在这节没有提及保留共将来使用。v$asm_file没有显示元数据目录或登记。

像其他ASM文件,虚拟元数据文件通过磁盘组冗余类型进行镜像。ASM不为external redundancy磁盘组提供镜像保护。虚拟元数据在normal-和high-redundancy磁盘组中提供3份镜像。下面的数据结构构成了虚拟元数据:

n File Directory

n Disk Directory

n Active Change Directory(ACD)

n Continuing Operations Directory(DOD)

n Template Directory

n Alias Directory

n Attribute Directory

n Staleness Directory

n Staleness Registry

File Directory

File Directory包含了所有与ASM文件有关的元数据。目录中包含了每个ASM文件的条目和这些条目使用数值进行索引。在每个磁盘组中文件目录的文件号是1(F1)。

File Directory包含如下字段:

n incarnation number

n File size

n File block size

n File type

n Redundancy(none,normal,or high)

n Striping(coarse或fine-grained)

n File creation time

n File modification time(文件最后一次被打开或写入的时间)

n File layout

ASM中如果一个文件被删除,然后重用这个文件的文件号创建新文件,该文件的化身号是独一无二并与之前不一样的。化身号是在数据文件创建时根据时间戳生成的,保证当ASM文件名相同时化身号是唯一的。

ASM文件的块大小不依赖于ASM元数据块大小。所有ASM元目录使用4k块大小。RDBMS数据文件可以是在创建表空间设置为2K,4K,8K,16K,或32K。RDBMS的redo log文件一般设置为512byte块大小。ASM及跟踪逻辑文件块大小(正如在数据块中看到的)同时也跟踪在磁盘组中的物理空间中的占用,放在审计文件中备查。RDBMS同样在文件创建时提供了文件类型。对于那些没有明确被RDBMS实例创建的文件(例如通过XMLDB ftp命令或ASMCMD的cp命令创建的),ASM在创建文件时检查文件头来决定文件类型。

create time的含义是显而易见的。然而,filemodification time并不是在每次写数据文件时都更新的。相反,file modification time在文件需要写而打开文件时更新时间戳。这就意味着modification time会被修改就是没有写入数据,stored modification time可能比最后一次修改文件内容时还早。同样,为了减少ASM实例中File Directory块在buffer cache中的争用,modificationtime每个小时准时截断。因此,如果集群中的几个实例在非常短的时间内打开文件,只有第一个实例访问文件并更新file modification time。

文件分布信息组成了一系列的extentpointers。extent pointer指定extent所在的磁盘号和AU号。FileDirectory条目包含每个文件的前60个extentpointer,有时也称作direct extent(直接扩展)。FileDirectory其余的空间保存indirect extent(非直接扩展)。indirect extent是其他虚拟元数据extent包括了ASM的extent pointer。每一个indirect extent是一个AU。每个File

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle数据库常用经典查询 下一篇oracle查看被锁的表和被锁的进程..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)
·MongoDB 索引 - 菜鸟 (2025-12-25 17:19:45)
·What Is Linux (2025-12-25 16:57:17)
·Linux小白必备:超全 (2025-12-25 16:57:14)