Oracle AMDU用法

学习笔记摘录整理

AMDU有以下三种功能:

  1. 将ASM DISK上的元数据转储到文件系统上以便分析
  2. 将ASM文件的内容抽取出来并写入到OS文件系统,Diskgroup是否mount均可
  3. 打印出块的元数据,以块中C语言结构或16进制的形式

选项-diskstring和-exclude用以指定那些ASM DISK需要被读取。 选项-direcotry指定上一次运行AMDU所生成的文件夹。 指定的文件夹也可以是包含上一次文件夹内容的拷贝。

探测磁盘

这一个步骤使用ASM Discovery信息以找到磁盘组。磁盘的头部Asm disk header将被读取以便判断哪些磁盘属于哪个Diskgroup。下一步骤中被扫描的磁盘将在此步骤中被选择。探测的结果将被存放在report文件中。 使用-directory选项,可以读取已存在的报告文件而非重新在重复一次本步骤。

ASMCMD> lsdsk

Path

/dev/asm-diskc

/dev/asm-diskd

/dev/asm-diske

/dev/asm-diskf

ASMCMD> exit

[grid@rac1 ~]$ amdu -diskstring '/dev/asm*'

amdu_2020_10_27_18_33_48/

[grid@rac1 ~]$ 

[grid@rac1 ~]$ 

[grid@rac1 ~]$ 

[grid@rac1 ~]$ cd amdu_2020_10_27_18_33_48/

[grid@rac1 amdu_2020_10_27_18_33_48]$ ls

report.txt

[grid@rac1 amdu_2020_10_27_18_33_48]$ more report.txt

-*-amdu-*-

```````````输出asm各个磁盘的信息

=========知道位置和控制文件名的情况下提取controlfile
[grid@rac1 ~]$ asmcmd
ASMCMD> lsdg
State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512   4096  4194304     10240     3072                0            3072              0             N  DATADG/
MOUNTED  EXTERN  N         512   4096  1048576      3072     2672                0            2672              0             Y  OCRDG/
-------------查找到控制文件,或者从spfile中得到控制文件的位置
[grid@rac1 ~]$ asmcmd find --type controlfile + "*"
+DATADG/RACDB/CONTROLFILE/Current.270.1026436209
-----------进行提取(磁盘组不能mount),会在当前目录下生成提取文件
amdu -diskstring="/dev/asm-diskc" -extra​ct DATADG.270 -output control.270 -noreport -nodir
此命令相关参数的含义如下:
diskstring: 使用磁盘的全路径或者是ASM_DISKSTRING参数值
extract: 磁盘组名.ASM文件序号
output:提取的输出文件(当前目录下)
noreport:不输出amdu的执行过程
nodir:不创建dump目录
----------以ascii方式可以打开
strings control.270 | grep +DATA
+DATADG/racdb/onlinelog/group_1.275.1026436209
+DATADG/racdb/onlinelog/group_2.272.1026436209
+DATADG/racdb/onlinelog/group_3.269.1026436209
+DATADG/racdb/datafile/system.273.1026436209
+DATADG/racdb/datafile/sysaux.266.1026436213
+DATADG/racdb/datafile/undotbs1.271.1026436217
 

以上转储出来的control.270就是控制文件,我们使用该控制文件startup mount RDBMS实例:

SQL> alter system set control_files='/opt/oracle.SupportTools/amdu_2009_10_10_20_19_17/control.270' scope=spfile;
System altered.




SQL> startup force mount;
ORACLE instance started.


Total System Global Area 1870647296 bytes
Fixed Size                  2229424 bytes
Variable Size             452987728 bytes
Database Buffers         1409286144 bytes
Redo Buffers                6144000 bytes
Database mounted.







SQL> select name from v$datafile;




NAME

--------------------------------------------------------------------------------
+DATA/prodb/datafile/system.256.794687873
+DATA/prodb/datafile/sysaux.257.794687875
+DATA/prodb/datafile/undotbs1.258.794687875
+DATA/prodb/datafile/users.259.794687875
+DATA/prodb/datafile/example.265.794687995
+DATA/prodb/datafile/mactbs.267.794688457




6 rows selected.

startup mount实例后,可以从v$datafile中获得数据文件名,其中就包括了其在DISKGROUP中的FILE NUMBER

再使用./amdu -diskstring ‘/dev/asm*’ -extract 命令即可 导出数据文件到操作系统

 amdu -extract DG_DATA.279

[oracle@mlab2 oracle.SupportTools]$ ./amdu -diskstring '/dev/asm*' -extract data.256

amdu_2009_10_10_20_22_21/
AMDU-00204: Disk N0006 is in currently mounted diskgroup DATA
AMDU-00201: Disk N0006: '/dev/asm-disk10'
AMDU-00204: Disk N0003 is in currently mounted diskgroup DATA
AMDU-00201: Disk N0003: '/dev/asm-disk5'
AMDU-00204: Disk N0002 is in currently mounted diskgroup DATA
AMDU-00201: Disk N0002: '/dev/asm-disk6'







[oracle@mlab2 oracle.SupportTools]$ cd amdu_2009_10_10_20_22_21/
[oracle@mlab2 amdu_2009_10_10_20_22_21]$ ls
DATA_256.f  report.txt


[oracle@mlab2 amdu_2009_10_10_20_22_21]$ dbv file=DATA_256.f




DBVERIFY: Release 11.2.0.3.0 - Production on Sat Oct 10 20:23:12 2009
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
DBVERIFY - Verification starting : FILE = /opt/oracle.SupportTools/amdu_2009_10_10_20_22_21/DATA_256.f


DBVERIFY - Verification complete

Total Pages Examined         : 90880
Total Pages Processed (Data) : 59817
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 12609
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 3637
Total Pages Processed (Seg)  : 1
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 14817
Total Pages Marked Corrupt   : 0
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 1125305 (0.1125305)
 
原文地址:https://www.cnblogs.com/nadian-li/p/13891511.html