原文: ASM disk header
作者: Bane Radulovic
译者:庄培培,沃趣科技数据库售前工程师,主要负责数据库平台架构方案设计、产品验证测试。
审校:魏兴华
责编:钱曙光
amdu - ASM Metadata Dump Utility
ASM Metadata Dump Utility,即ASM元数据导出工具,它的简写amdu更被人所熟知,常被Oracle技术支持人员和Oracle开发人员用来诊断和解决ASM故障。它能输出ASM的元数据信息并且从ASM磁盘组中抽取元数据和数据文件。 amdu工具不依赖于ASM实例或者ASM磁盘组的状态,所以它能在ASM实例关闭和磁盘组未挂载的情况下正常使用,它甚至能在ASM磁盘出现故障或者不可见的场景下使用。
Use amdu to extract a controlfile from a mounted disk group
在接下来的第一个例子中,我们将以一个处于mount状态的磁盘组为例,使用amdu提取数据库BR的一个控制文件。
通过asmcmd的find命令结合–type参数,指定查找文件类型为controlfile的文件,以下输出列出了所有找到的控制文件的位置:
$ asmcmd find --type controlfile + "*"
+DATA/ASM/CONTROLFILE/cfcopy.268.734178331
+DATA/BR/CONTROLFILE/Current.276.723906721
+DATA/BR/CONTROLFILE/Current.285.723908117
+DATA/BR/CONTROLFILE/Current.294.723912823
+DATA/ORCL/CONTROLFILE/Current.260.715782325
+DATA/cfcopy
+RECO/BR/CONTROLFILE/Current.256.723906723
+RECO/BR/CONTROLFILE/Current.260.723908117
+RECO/BR/CONTROLFILE/Current.264.723912823
以上输出我们可以知道,在DATA磁盘组和RECO磁盘组分别存放了BR数据库控制文件的三个副本。这里以提取DATA磁盘组的Current.276.723906721控制文件为例。
首先我们看下DATA磁盘组有哪些磁盘
$ asmcmd lsdsk -G DATA
Path
ORCL:DISK1
ORCL:DISK2
DATA磁盘组共有两块磁盘-DISK1和DISK2,名字都是以ORCL为前缀的ASMLIB磁盘。严格意义上,并不需要知道具体的磁盘名,只需要查找ASM_DISKSTRING参数值所定义的目录即可。
我们接着用amdu工具将控制文件从DATA磁盘组提取到文件系统上
$ cd /tmp
$ amdu -diskstring="ORCL:*" -extract DATA.276 -output control.276 -