联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
又一个客户把win rac中的asm disk给格式化为ntfs了(data磁盘组由三个500G的磁盘组成,被格式化掉前面两个还剩下一个),而且格式化之后,还进行了一系列恢复(比如修复磁盘头,又进行分区等一些磁盘操作),导致恢复难度增加,也增加了一些数据覆盖
asm alert日志报错
Thu Aug 23 11:20:14 2018 NOTE: ASM client orcl1:orcl disconnected unexpectedly. NOTE: check client alert log. NOTE: Process state recorded in trace file d:\app\administrator\diag\asm\+asm\+asm1\trace\+asm1_ora_2260.trc Thu Aug 23 11:20:28 2018 Errors in file d:\app\administrator\diag\asm\+asm\+asm1\trace\+asm1_lgwr_3820.trc: ORA-27070: async read/write failed OSD-04016: 异步 I/O 请求排队时出错。 O/S-Error: (OS 87) 参数错误。 WARNING: IO Failed. group:2 disk(number.incarnation):1.0xf0f0a1cb disk_path:\\.\ORCLDISKDATA1 AU:26 disk_offset(bytes):27566080 io_size:4096 operation:Write type:synchronous result:I/O error process_id:3820 NOTE: unable to write any mirror side for diskgroup DATA NOTE: cache initiating offline of disk 1 group DATA NOTE: process 3268:3820 initiating offline of disk 1.4042301899 (DATA_0001) with mask 0x7e in group 2 WARNING: Disk DATA_0001 in mode 0x7f is now being taken offline NOTE: initiating PST update: grp = 2, dsk = 1/0xf0f0a1cb, mode = 0x15 kfdp_updateDsk(): 22 Thu Aug 23 11:20:28 2018 kfdp_updateDskBg(): 22 ERROR: too many offline disks in PST (grp 2) WARNING: Disk DATA_0001 in mode 0x7f offline aborted
数据库alert日志报错
WARNING: IO Failed. group:2 disk(number.incarnation):1.0xf0f0a1cb disk_path:\\.\ORCLDISKDATA1 AU:422 disk_offset(bytes):442515456 io_size:16384 operation:Read type:synchronous result:I/O error process_id:11992 WARNING: failed to read mirror side 1 of virtual extent 5 logical extent 0 of file 260 in group [2.1859146063] from disk DATA_0001 allocation unit 422 reason error; if possible,will try another mirror side Errors in file d:\app\administrator\diag\rdbms\orcl\orcl1\trace\orcl1_ora_11992.trc: ORA-15080: 与磁盘的同步 I/O 操作失败 WARNING: failed to write mirror side 1 of virtual extent 5 logical extent 0 of file 260 in group 2 on disk 1 allocation unit 422 Errors in file d:\app\administrator\diag\rdbms\orcl\orcl1\trace\orcl1_ora_11992.trc: ORA-00202: 控制文件: ''+DATA/orcl/controlfile/current.260.944422981'' ORA-15081: 无法将 I/O 操作提交到磁盘 Thu Aug 23 11:20:13 2018 Errors in file d:\app\administrator\diag\rdbms\orcl\orcl1\trace\orcl1_dbw1_3224.trc: ORA-27070: 异步读取/写入失败 WARNING: IO Failed. group:2 disk(number.incarnation):1.0xf0f0a1cb disk_path:\\.\ORCLDISKDATA1 AU:841 disk_offset(bytes):882532352 io_size:131072 operation:Write type:asynchronous result:I/O error process_id:3224 Errors in file d:\app\administrator\diag\rdbms\orcl\orcl1\trace\orcl1_dbw1_3224.trc: ORA-15080: 与磁盘的同步 I/O 操作失败 WARNING: failed to write mirror side 1 of virtual extent 240 logical extent 0 of file 259 in group 2 on disk 1 allocation unit 841 KCF: read, write or open error, block=0x7853 online=1 file=4 '+DATA/orcl/datafile/users.259.944422883' error=15081 txt: '' Errors in file d:\app\administrator\diag\rdbms\orcl\orcl1\trace\orcl1_dbw1_3224.trc: ORA-27070: 异步读取/写入失败 OSD-04006: ReadFile() 失败, 无法读取文件 O/S-Error: (OS 87) 参数错误。 WARNING: IO Failed. group:2 disk(number.incarnation):1.0xf0f0a1cb disk_path:\\.\ORCLDISKDATA1 AU:422 disk_offset(bytes):442515456 io_size:16384 operation:Read type:synchronous result:I/O error process_id:3224 WARNING: failed to read mirror side 1 of virtual extent 5 logical extent 0 of file 260 in group [2.1859146063] from disk DATA_0001 allocation unit 422 reason error; if possible,will try another mirror side Errors in file d:\app\administrator\diag\rdbms\orcl\orcl1\trace\orcl1_dbw1_3224.trc: ORA-15080: 与磁盘的同步 I/O 操作失败 WARNING: failed to write mirror side 1 of virtual extent 5 logical extent 0 of file 260 in group 2 on disk 1 allocation unit 422 Errors in file d:\app\administrator\diag\rdbms\orcl\orcl1\trace\orcl1_dbw1_3224.trc: ORA-00202: 控制文件: ''+DATA/orcl/controlfile/current.260.944422981'' ORA-15081: 无法将 I/O 操作提交到磁盘 Errors in file d:\app\administrator\diag\rdbms\orcl\orcl1\trace\orcl1_dbw1_3224.trc: ORA-00204: 读取控制文件时出错 (块 41, # 块 1) ORA-00202: 控制文件: ''+DATA/orcl/controlfile/current.260.944422981'' ORA-15081: 无法将 I/O 操作提交到磁盘 DBW1 (ospid: 3224): terminating the instance due to error 204
由于客户进行了一系列恢复恢复操作导致查看磁盘都不全
D:\>asmtool -list NTFS \Device\Harddisk0\Partition1 100M NTFS \Device\Harddisk0\Partition2 102298M NTFS \Device\Harddisk1\Partition1 102397M NTFS \Device\Harddisk2\Partition1 204797M ---这里还有一个磁盘没有正常显示 ORCLDISKDATA10 \Device\Harddisk4\Partition1 511997M--客户尝试修复的磁盘 ORCLDISKDATA2 \Device\Harddisk5\Partition1 511997M ORCLDISKRECOVERY0 \Device\Harddisk6\Partition1 51197M ORCLDISKRECOVERY1 \Device\Harddisk7\Partition1 51197M ORCLDISKRECOVERY2 \Device\Harddisk8\Partition1 51197M ORCLDISKCRS0 \Device\Harddisk9\Partition1 10237M ORCLDISKCRS1 \Device\Harddisk10\Partition1 10237M ORCLDISKCRS2 \Device\Harddisk11\Partition1 10237M NTFS \Device\Harddisk12\Partition2 4194174M
通过主机层面激活卷,删除分区等一系列操作,然后通过kfed构造磁盘头,让这些磁盘在os层面可以正常显示
C:\Users\Administrator>asmtool -list NTFS \Device\Harddisk0\Partition1 100M NTFS \Device\Harddisk0\Partition2 102298M NTFS \Device\Harddisk1\Partition1 102397M NTFS \Device\Harddisk2\Partition1 204797M ------需要处理的磁盘------ ORCLDISKDATA0 \Device\Harddisk3\Partition1 511997M ORCLDISKDATA1 \Device\Harddisk4\Partition1 511997M ORCLDISKDATA2 \Device\Harddisk5\Partition1 511997M ----------------------- ORCLDISKRECOVERY0 \Device\Harddisk6\Partition1 51197M ORCLDISKRECOVERY1 \Device\Harddisk7\Partition1 51197M ORCLDISKRECOVERY2 \Device\Harddisk8\Partition1 51197M ORCLDISKCRS0 \Device\Harddisk9\Partition1 10237M ORCLDISKCRS1 \Device\Harddisk10\Partition1 10237M ORCLDISKCRS2 \Device\Harddisk11\Partition1 10237M NTFS \Device\Harddisk12\Partition2 4194174M
由于asm磁盘组内部目录au被彻底损坏,导致无法通过asm直接拷贝出来数据,通过底层扫描,按照au恢复出来相关数据,由于格式化ntfs和后续的误操作导致部分数据au被覆盖.其余数据均恢复,抢救了绝大部分数据.
数据文件恢复参考:asm disk header 彻底损坏恢复
另外有一次win平台类似恢复经历:asm disk格式化为ntfs恢复
如果您遇到此类情况,无法解决请联系我们,提供专业ORACLE数据库恢复技术支持
Phone:17813235971 Q Q:107644445 E-Mail:dba@xifenfei.com