zoukankan      html  css  js  c++  java
  • 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)
     
  • 相关阅读:
    git rebase 还是 merge的使用场景最通俗的解释
    漏洞复现:Struts2 远程代码执行漏洞(S2-033)
    linux临时网络配置
    漏洞复现:Struts2 S2-032 漏洞环境
    XXE攻击学习
    启用了不安全的HTTP方法【转】
    HTTP参数污染【转】
    逻辑漏洞挖掘方式
    大漏洞时代下的僵尸网络追踪-笔记
    markdown入门杂记
  • 原文地址:https://www.cnblogs.com/nadian-li/p/13891511.html
Copyright © 2011-2022 走看看