zoukankan      html  css  js  c++  java
  • oracle kfed 和 amdu

    备份asm disk header

    kfed 或者 dd

    kfed read /dev/asm_data1 > asm_data1.txt &&
    kfed read /dev/asm_data2 > asm_data2.txt &&
    kfed read /dev/asm_data3 > asm_data3.txt

    dd if=/dev/asm_data1 of=/home/grid/asm_data1.dump bs=4096 count=1 &&
    dd if=/dev/asm_data2 of=/home/grid/asm_data2.dump bs=4096 count=1 &&
    dd if=/dev/asm_data3 of=/home/grid/asm_data3.dump bs=4096 count=1

    模拟asm disk header头损坏

    dd if=/dev/zero of=/dev/asm_data1  bs=4096 count=1

    重新挂载报错

    SQL> alter diskgroup data dismount;
    
    Diskgroup altered.
    
    SQL> alter diskgroup data mount;
    alter diskgroup data mount
    *
    ERROR at line 1:
    ORA-15032: not all alterations performed
    ORA-15040: diskgroup is incomplete
    ORA-15042: ASM disk "0" is missing from group number "2"
    [+ASM1]@ht01[/home/grid]$dd if=/dev/zero of=/dev/asm_data1  bs=4096 count=1
    1+0 records in
    1+0 records out
    4096 bytes (4.1 kB) copied, 0.000907187 s, 4.5 MB/s
    
    kfed 读报错
    [+ASM1]@ht01[/home/grid]$kfed read /dev/asm_data1 
    kfbh.endian:                          0 ; 0x000: 0x00
    kfbh.hard:                            0 ; 0x001: 0x00
    kfbh.type:                            0 ; 0x002: KFBTYP_INVALID
    kfbh.datfmt:                          0 ; 0x003: 0x00
    kfbh.block.blk:                       0 ; 0x004: blk=0
    kfbh.block.obj:                       0 ; 0x008: file=0
    kfbh.check:                           0 ; 0x00c: 0x00000000
    kfbh.fcn.base:                        0 ; 0x010: 0x00000000
    kfbh.fcn.wrap:                        0 ; 0x014: 0x00000000
    kfbh.spare1:                          0 ; 0x018: 0x00000000
    kfbh.spare2:                          0 ; 0x01c: 0x00000000
    7F06DD408400 00000000 00000000 00000000 00000000  [................]
      Repeat 255 times
    KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0]
    
    amdu 抽取报错
    [+ASM1]@ht01[/home/grid]$amdu -diskstring ' /dev/asm_data*' -extract data.259
    amdu_2019_11_10_19_27_12/
    AMDU-00204: Disk N0002 is in currently mounted diskgroup DATA
    AMDU-00201: Disk N0002: '/dev/asm_data2'
    AMDU-00204: Disk N0003 is in currently mounted diskgroup DATA
    AMDU-00201: Disk N0003: '/dev/asm_data3'
    
    asm disk header 3种修复方式
    kfed repair /dev/asm_data1
    kfed write /dev/asm_data1 te=asm_data1.txt
    dd if=/home/grid/asm_data1.dump  of=/dev/asm_data1 bs=4096 count=1
    
    抽取数据时候可以先抽取control,control信息记录在alert日志里
    amdu -diskstring '/dev/asm_data*' -extract data.259
    data.259 有磁盘组名称和file_number组成.
    select name from v$datafile;
    可以以此抽出
    

      

  • 相关阅读:
    git 常用命令
    spring源码-事件&监听3.6
    spring源码-国际化-3.5
    spring源码-Aware-3.4
    spring源码-BeanPostProcessor-3.3
    springboot中对yaml文件的解析
    数组Array.sort()排序的方法
    【转】js 对象按照键值(不分区大小写)排序,生成签名方法
    【转】JS常用函数整合库 lutils
    VS2017调试出现异常浏览器直接关闭的解决办法
  • 原文地址:https://www.cnblogs.com/omsql/p/11831613.html
Copyright © 2011-2022 走看看