fdisk分区导致asm disk破坏数据库恢复

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:fdisk分区导致asm disk破坏数据库恢复

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

尝试mount data磁盘组

SQL> alter diskgroup DATADG mount

NOTE: cache registered group DATADG number=1 incarn=0xbc43fafd

NOTE: cache began mount (first) of group DATADG number=1 incarn=0xbc43fafd

NOTE: Assigning number (1,0) to disk (/dev/raw/raw2)

Thu Jun 02 10:14:33 2022

NOTE: GMON heartbeating for grp 1

GMON querying group 1 at 27 for pid 27, osid 3853

NOTE: Assigning number (1,1) to disk ()

GMON querying group 1 at 28 for pid 27, osid 3853

NOTE: cache dismounting (clean) group 1/0xBC43FAFD (DATADG)

NOTE: messaging CKPT to quiesce pins Unix process pid: 3853, image: oracle@node1 (TNS V1-V3)

NOTE: dbwr not being msg'd to dismount

NOTE: lgwr not being msg'd to dismount

NOTE: cache dismounted group 1/0xBC43FAFD (DATADG)

NOTE: cache ending mount (fail) of group DATADG number=1 incarn=0xbc43fafd

NOTE: cache deleting context for group DATADG 1/0xbc43fafd

GMON dismounting group 1 at 29 for pid 27, osid 3853

NOTE: Disk  in mode 0x8 marked for de-assignment

NOTE: Disk  in mode 0x8 marked for de-assignment

ERROR: diskgroup DATADG was not mounted

ORA-15032: not all alterations performed

ORA-15040: diskgroup is incomplete

ORA-15042: ASM disk "1" is missing from group number "1"

ERROR: alter diskgroup DATADG mount

Thu Jun 02 10:14:33 2022

ASM Health Checker found 1 new failures

报错信息比较明显 datadg的disk number 为1的磁盘丢失了。通过fdisk确认磁盘情况

Disk /dev/sdb: 42.9 GB, 42949672960 bytes

64 heads, 32 sectors/track, 40960 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0006c2be

   Device Boot      Start         End      Blocks   Id  System

Disk /dev/sda: 53.7 GB, 53687091200 bytes

64 heads, 32 sectors/track, 51200 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00061443

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           2        2049     2097152   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2            2050       10241     8388608   82  Linux swap / Solaris

Partition 2 does not end on cylinder boundary.

/dev/sda3           10242       12289     2097152   83  Linux

Partition 3 does not end on cylinder boundary.

/dev/sda4           12290       51200    39844864    5  Extended

Partition 4 does not end on cylinder boundary.

/dev/sda5           12291       14338     2097152   83  Linux

/dev/sda6           14340       50178    36699136   83  Linux

/dev/sda7           50180       51200     1045504   83  Linux

Disk /dev/sdc: 214.7 GB, 214748364800 bytes

255 heads, 63 sectors/track, 26108 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x1b3fba6b

   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1        1045     8393931   83  Linux

/dev/sdc2            1046       26108   201318547+  83  Linux

Disk /dev/sdd: 536.9 GB, 536870912000 bytes

255 heads, 63 sectors/track, 65270 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x4c63ecad

   Device Boot      Start         End      Blocks   Id  System

/dev/sdd1               1       65270   524281243+  83  Linux

Disk /dev/sde: 536.9 GB, 536870912000 bytes

255 heads, 63 sectors/track, 65270 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk /dev/sdf: 536.9 GB, 536870912000 bytes

255 heads, 63 sectors/track, 65270 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

根据客户反馈,异常的应该是一个500G的磁盘,而其中sdb为分区,通过kfed命令分析,确认sdc1为ocr磁盘,sdc2为datadg的一块磁盘,另外一块磁盘应该在sdd,sde,sdf三者之中,通过kfed分析sde,sdf均不可能是asm disk(一块是文件系统,一块是彻底没有使用的空盘),如果datadg的磁盘没有丢失,那应该就是sdd这块磁盘,通过dd 磁盘100M空间,然后通过kfed进行分析确认

E:\TEMP\xff>kfed read sdd.dd

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

006648400 00000000 00000000 00000000 00000000  [................]

        Repeat 26 times

0066485B0 00000000 00000000 4C63ECAD 01000000  [..........cL....]

0066485C0 FE830001 003FFFFF CB370000 00003E7F  [......?...7..>..]

0066485D0 00000000 00000000 00000000 00000000  [................]

        Repeat 1 times

0066485F0 00000000 00000000 00000000 AA550000  [..............U.]

006648600 00000000 00000000 00000000 00000000  [................]

  Repeat 223 times

KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0]

E:\TEMP\xff>kfed read sdd1.dd

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

006768400 00000000 00000000 00000000 00000000  [................]

        Repeat 26 times

0067685B0 00000000 00000000 70D364B4 FE000000  [.........d.p....]

0067685C0 FE83FFFF D13FFFFF BB7603EB 00003A93  [......?...v..:..]

0067685D0 00000000 00000000 00000000 00000000  [................]

        Repeat 1 times

0067685F0 00000000 00000000 00000000 AA550000  [..............U.]

006768600 02038201 00000008 80000001 826037C1  [.............7`.]

006768EA0 00000079 00800105 0000007A 00800105  [y.......z.......]

006768EB0 0000007C 00800105 0000007D 00800105  [|.......}.......]

0067693C0 0000015C 00800105 0000015D 00800105  [\.......].......]

0067693D0 0000015F 00800105 00000160 00800105  [_.......`.......]

0067693E0 00000161 00800105 00000163 00800105  [a.......c.......]

0067693F0 00000164 00800105 00000166 00800105  [d.......f.......]

KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0]

E:\TEMP\xff>kfed read sdd.dd blkn=1|more

kfbh.endian:                          1 ; 0x000: 0x01

kfbh.hard:                          130 ; 0x001: 0x82

kfbh.type:                            2 ; 0x002: KFBTYP_FREESPC

kfbh.datfmt:                          2 ; 0x003: 0x02

kfbh.block.blk:                       1 ; 0x004: blk=1

kfbh.block.obj:              2147483649 ; 0x008: disk=1

kfbh.check:                  2197087544 ; 0x00c: 0x82f4e538

kfbh.fcn.base:                   616391 ; 0x010: 0x000967c7

kfbh.fcn.wrap:                        0 ; 0x014: 0x00000000

kfbh.spare1:                          0 ; 0x018: 0x00000000

kfbh.spare2:                          0 ; 0x01c: 0x00000000

kfdfsb.aunum:                         0 ; 0x000: 0x00000000

kfdfsb.max:                         254 ; 0x004: 0x00fe

kfdfsb.cnt:                         254 ; 0x006: 0x00fe

kfdfsb.bound:                         0 ; 0x008: 0x0000

kfdfsb.flag:                          1 ; 0x00a: B=1

kfdfsb.ub1spare:                      0 ; 0x00b: 0x00

kfdfsb.spare[0]:                      0 ; 0x00c: 0x00000000

kfdfsb.spare[1]:                      0 ; 0x010: 0x00000000

kfdfsb.spare[2]:                      0 ; 0x014: 0x00000000

通过上述信息分析,基本上可以确认sdd磁盘以前是asm disk,但是被fdisk进行了分区,基于这种情况,通过对磁盘组进行修复

E:\TEMP\xff>kfed read sdd.ok

kfbh.endian:                          1 ; 0x000: 0x01

kfbh.hard:                          130 ; 0x001: 0x82

kfbh.type:                            1 ; 0x002: KFBTYP_DISKHEAD

kfbh.datfmt:                          1 ; 0x003: 0x01

kfbh.block.blk:                       0 ; 0x004: blk=0

kfbh.block.obj:              2147483649 ; 0x008: disk=1

kfbh.check:                   424926402 ; 0x00c: 0x1953dcc2

kfbh.fcn.base:                        0 ; 0x010: 0x00000000

kfbh.fcn.wrap:                        0 ; 0x014: 0x00000000

kfbh.spare1:                          0 ; 0x018: 0x00000000

kfbh.spare2:                          0 ; 0x01c: 0x00000000

kfdhdb.driver.provstr:         ORCLDISK ; 0x000: length=8

kfdhdb.driver.reserved[0]:            0 ; 0x008: 0x00000000

kfdhdb.driver.reserved[1]:            0 ; 0x00c: 0x00000000

kfdhdb.driver.reserved[2]:            0 ; 0x010: 0x00000000

kfdhdb.driver.reserved[3]:            0 ; 0x014: 0x00000000

kfdhdb.driver.reserved[4]:            0 ; 0x018: 0x00000000

kfdhdb.driver.reserved[5]:            0 ; 0x01c: 0x00000000

kfdhdb.compat:                186646528 ; 0x020: 0x0b200000

kfdhdb.dsknum:                        1 ; 0x024: 0x0001

kfdhdb.grptyp:                        1 ; 0x026: KFDGTP_EXTERNAL

kfdhdb.hdrsts:                        3 ; 0x027: KFDHDR_MEMBER

kfdhdb.dskname:             DATADG_0001 ; 0x028: length=11

kfdhdb.grpname:                  DATADG ; 0x048: length=6

kfdhdb.fgname:              DATADG_0001 ; 0x068: length=11

kfdhdb.capname:                         ; 0x088: length=0

kfdhdb.crestmp.hi:             33074858 ; 0x0a8: HOUR=0xa DAYS=0x15 MNTH=0xb YEAR=0x7e2

kfdhdb.crestmp.lo:           2375520256 ; 0x0ac: USEC=0x0 MSEC=0x1e4 SECS=0x19 MINS=0x23

kfdhdb.mntstmp.hi:             33074858 ; 0x0b0: HOUR=0xa DAYS=0x15 MNTH=0xb YEAR=0x7e2

kfdhdb.mntstmp.lo:           2375522304 ; 0x0b4: USEC=0x0 MSEC=0x1e6 SECS=0x19 MINS=0x23

kfdhdb.secsize:                     512 ; 0x0b8: 0x0200

kfdhdb.blksize:                    4096 ; 0x0ba: 0x1000

kfdhdb.ausize:                  1048576 ; 0x0bc: 0x00100000

kfdhdb.mfact:                    113792 ; 0x0c0: 0x0001bc80

kfdhdb.dsksize:                  512000 ; 0x0c4: 0x0007d000

kfdhdb.pmcnt:                         6 ; 0x0c8: 0x00000006

kfdhdb.fstlocn:                       1 ; 0x0cc: 0x00000001

kfdhdb.altlocn:                       2 ; 0x0d0: 0x00000002

kfdhdb.f1b1locn:                      0 ; 0x0d4: 0x00000000

kfdhdb.redomirrors[0]:                0 ; 0x0d8: 0x0000

kfdhdb.redomirrors[1]:                0 ; 0x0da: 0x0000

kfdhdb.redomirrors[2]:                0 ; 0x0dc: 0x0000

kfdhdb.redomirrors[3]:                0 ; 0x0de: 0x0000

kfdhdb.dbcompat:              168820736 ; 0x0e0: 0x0a100000

kfdhdb.grpstmp.hi:             33072461 ; 0x0e4: HOUR=0xd DAYS=0xa MNTH=0x9 YEAR=0x7e2

kfdhdb.grpstmp.lo:           3452534784 ; 0x0e8: USEC=0x0 MSEC=0x260 SECS=0x1c MINS=0x33

磁盘组mount成功,数据库open成功,实现数据0丢失


使用rman对数据库进行备份,并且重建磁盘组实现数据0丢失

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值