作者:Digital Observer(施嘉伟)
Oracle ACE Pro: Database
PostgreSQL ACE Partner
11年数据库行业经验,现主要从事数据库服务工作
拥有Oracle OCM、DB2 10.1 Fundamentals、MySQL 8.0 OCP、WebLogic 12c OCA、KCP、PCTP、PCSD、PGCM、OCI、PolarDB技术专家、达梦师资认证、数据安全咨询高级等认证
ITPUB认证专家、PolarDB开源社区技术顾问、HaloDB技术顾问、TiDB社区技术布道师、青学会MOP技术社区专家顾问、国内某高校企业实践指导教师
公众号:Digital Observer;CSDN:施嘉伟;ITPUB:sjw1933;墨天轮:Digital Observer;PGFans:施嘉伟。
今天碰着一个故障,某客户大清早rac数据库dang机了,看日志OCR起不来,尝试rac独占模式没有起来。这不想到了amdu工具。
简介:
从Oracle 11g开始,Oracle提供了一个工具AMDU用于协助诊断,通过这个工具可以在磁盘组加载之前将ASM的元数据抽取出来,用于数据库诊断,这个工具可以向后兼容,引入到10g中。
通过amdu –h可以查看详细的帮助说明,缺省的调用amdu,会自动生成一个以时间命名的目录,该目录下生成的报告文件会记录磁盘组的相关信息:
[oracle@racpri2 ~]$ amdu
amdu_2020_06_04_18_38_51/
[oracle@racpri2 ~]$ cd amdu_2020_06_04_18_38_51
[oracle@racpri2 amdu_2020_06_04_18_38_51]$ ls
report.txt
report主要内容如下:
[oracle@racpri2 amdu_2020_06_04_18_38_51]$ more report.txt
-*-amdu-*-
******************************* AMDU Settings ********************************
ORACLE_HOME = /u01/app/product/112040/db_1
System name: Linux
Node name: racpri2
Release: 2.6.32-696.el6.x86_64
Version: #1 SMP Tue Mar 21 19:29:05 UTC 2017
Machine: x86_64
amdu run: 04-JUN-20 18:38:51
Endianess: 1
--------------------------------- Operations ---------------------------------
------------------------------- Disk Selection -------------------------------
-diskstring ''
------------------------------ Reading Control -------------------------------
------------------------------- Output Control -------------------------------
********************************* DISCOVERY **********************************
******************************* END OF REPORT ********************************
以下命令指定转储CRSDG的磁盘组信息,除了报告文件外,还生成了map和img信息文件:
首先抽取控制文件:
amdu -diskstring “/dev/asm*” -extract DATA.260
[grid@racpri2 ~]$ amdu -diskstring "/dev/asm*" -extract DATA.260
amdu_2020_06_04_20_15_27/
AMDU-00204: Disk N0001 is in currently mounted diskgroup DATA
AMDU-00201: Disk N0001: '/dev/asm_data_sdd'
[grid@racpri2 ~]$ cd amdu_2020_06_04_20_15_27/
[grid@racpri2 amdu_2020_06_04_20_15_27]$ ls
DATA_260.f report.txt
接着去读取控制文件中的信息:
$strings DATA.260


抽取数据文件日志文件:
amdu -diskstring "/dev/asm*" -extract DATA.257
amdu -diskstring "/dev/asm*" -extract DATA.490
抽取归档日志文件:
amdu -diskstring "/dev/asm*" -extract DATA.2_147
amdu -diskstring "/dev/asm*" -extract DATA.1_195
接着大家伙尝试用拷贝出来的文件将数据库拉起来吧。





