AMDU下载地址 ORACLE ASM AMDU工具在ASM10g中使用

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638    QQ号:47079569    邮箱:service@parnassusdata.com

Oracle数据库企业版版本10.1.0.310.2.0.4[发行10.110.2]

本文档中的信息适用于任何平台。

Oracle服务器企业版版本:10.1.0.310.2.0.4

目的

Oracle 10g中,如果磁盘组已安装,磁盘组的内容可以回看,还有一些内部视图显示了磁盘内文件(ASM文件和数据库文件)的具体分配。

若磁盘组未安装,该信息不可用,这使得不安装磁盘组便难以诊断错误。此问题用AMDU可以解决。


AMDU
是在11g中引入的工具,在11g中可以从一个或多个ASM磁盘中提取所有可用的元数据,从转储输出生成格式化块打印输出,从一个磁盘组(安装/卸载)中提取一个或多个文件,并将其写入OS文件系统。

处理ASM元数据相关的内部错误时,该工具非常重要。

尽管该工具在11g中发行,在ASM10g中也可使用。

本文档提供的链接,可以在ASM10g环境中下载运行AMDU所需的文件。

平台

 

Linux X86 (Platform 46)

amdu_lnx_32.zip

Linux X86-64 AMD64/EM64T (Platform 226)

amdu_lnx_X86-64.zip

Solaris 10 Sparc 64bit (Platform 23)

amdu_solaris10_64.zip

Solaris 9 Sparc 64bit (Platform 23)

amdu_solaris9_64.zip

HP-UX PA-RISC 64bits (Platform 59)

amdu_HP-PARISC.zip

HP-UX Itanium (Platform 197)

amdu_hp_itanium.zip

AIX

amdu_aix.zip

其他平台待添加

Table 1.  List of platforms


本文档的范围不是去解释AMDU可用性和特性。其主要目标是提供一个占位符,其中可以下载AMDU,并在Oracle 10g环境中使用。至于Oracle11g,这个工具是该发行版本的一部分,出现在$ ORACLE_HOME/ bin目录。

要求

有关具体细节,请一步一步查看相关章节。

注意:如果执行过程中报告有核心转储或任何错误,请提交报告,可以替换二进制。

配置

1. 下载表1引用的zip文件,并将其转让到服务器。

2.解压内容

zip文件中包含了4个文件:

1. amdu — amdu binary
2. libclntsh.so.11.1
3. libnnz11.so
4. libskgxp11.so

注意:lib*文件的扩展名在某些平台上可能会不同。

3. 如果对ASMDB使用不同ORACLE_HOMEs,使用ASM位置。修改变量LD_LIBRARY_PATHLIBPATH(在AIX上)或同等变量,包括下载amdu的目录。同时修改PATH变量:

$cd <your directory>
$export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`
or $setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:`pwd`
$export PATH=$PATH:`pwd`  or setenv PATH ${PATH}:`pwd`

or

$cd <your directory>
$export LIBPATH=$LIBPATH:`pwd`
or $setenv LIBPATH ${LIBPATH}:`pwd`
$export PATH=$PATH:`pwd` or setenv PATH ${PATH}:`pwd`

已知事项
*
amdu
的执行可能因为一个核心转储而失败。

回顾核心转储中的调用堆栈:

#0 0x0806235d in slfipn ()
#1 0x0805e88c in lfimknam ()
#2 0x081123bd in kfmuCreateDirectory ()
#3 0x0810a753 in kfmu_main ()
#4 0x08091a13 in lpmcall ()
#5 0x08065678 in lpmpmai ()
#6 0x08057fb9 in main ()

这是由于错误5997071. 解决方法是去掉所有NLS*变量,从NLS_LANG开始。

说明

$ amdu -diskstring ‘/dev/asm1_disk*’ -dump ‘DATA1’

有两个主要参数:

-diskstring    Identify the location where the devices used by diskgroup are located.
-dump          Define the diskgroup whose content will be dumped by AMDU

下面这个例子是关于如何使用amdu,尤其是为了找到磁盘目录的位置。

This example scans disks under ‘/dev/asmdisk* and will dump details for diskgroup DATA.

Executing amdu:

$ ./amdu -diskstring ‘/dev/asmdisk*’ -dump ‘DATA’

Change to the directory created which the name will be printed in the screen
during execution of amdu.

Two files will be created:

* report.txt which provides details of disks identified during
the amdu execution
* <diskgroup>.map, Map files are ASCII files that describe the data in the
image files for a particular disk group

在地图文件(*.MAP)中,我们找寻F00000002:(磁盘目录始终是ASM文件#2

N0014 D0002 R00 A00000002 F00000002 I0 E00000000 U00 C00256 S0001 B0035663872

现在,阅读report.text,从而使用N0014D0002识别磁盘:

N0014 — DISK REPORT N0014
D0002 — Disk # 2
A00000002 — Allocation Unit 2
F00000002 — File#2

The  file report.txt will have the path for this disk, using the values
referenced before:

—————————– DISK REPORT N0014 ———————-
Disk Path: /dev/asmdisk17
Unique Disk ID:
Disk Label:
Physical Sector Size: 512 bytes
Disk Size: 954 megabytes
Group Name: DATA
Disk Name: DATA_0002
Failure Group Name: DATA_0002 Disk Number: 2 Header Status: 3

AMDU信息表明磁盘目录位于磁盘#2中的AU2,用路径 /dev/asmdisk17来识别。

使用KFED来获取特定的AU

$ kfed read /dev/asmdisk17 aunum=2 blknum=0 text=disk17_dd.txt

注意:从块0开始审查,所添加的磁盘条目可以是在不同的块中

注意

此示例代码仅供教育目的,而不是由Oracle Support支持。已经过内部测试,但是,我们不保证它对你有效。使用之前请确保是在测试环境中运行它。

脚本

样本数出

每次执行AMDU,都会在当前位置创建一个目录,除非它被参数-directory覆盖。该目录格式为amdu_YYYY_MM_DD_HH24_MM_SS

$amdu -diskstring ‘/dev/asm1*’ -dump ‘DATA1’
amdu_2008_02_14_15_04_11/


step-by-step 部分中引用的默认命令,将生成以下文件:

DATA1_0001.img   — could be more than one. size is limited to 2gb.
DATA1.map
report.txt


这里是文件的一些细节:

1. report.txt

如其名称所示,它包含了扫描的磁盘信息(姓名,磁盘组名称,failgroup名称,大小,创建时间等)。

2. *.map

-dump命令引用的每个磁盘组,都有一个*.map文件,它可以用来寻找磁盘上ASM元数据的精确位置。回看元数据的特定区域时,这个文件会是一个关键组成部分。

3. *.img
每一个磁盘组,可能有很多图像文件。大小限制为2GB,将成为磁盘组内容的准确转储。

压缩目录下的所有文件,并要求客户将其上传到服务请求。

关注dbDao.com的新浪微博

扫码关注dbDao.com 微信公众号:

沪公网安备 31010802001379号

TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569