Liu Maclean(刘相兵 发表于 2016-8-8 14:09:25

prmscan扫描并恢复被破坏的Oracle ASM diskgroup磁盘组

prmscan 是诗檀软件独立研发的ORACLE数据块碎片扫描合并工具,其适用于以下的场景:
[*]误手动删除了文件系统(任意文件系统 NTFS、FAT、EXT、UFS、JFS等)或ASM上的数据文件
[*]文件系统损坏,导致数据文件大小变成0 bytes即数据文件被清零
[*]文件系统损坏,导致文件系统无法MOUNT加载
[*]ASM存储元数据损坏,导致diskgroup无法mount加载
[*]文件系统或ASM其中的LV或PV被物理破坏或丢失

针对ORACLE ASM diskgroup 磁盘组metadata元数据损坏的问题,一般会先采用prm-dul或amdu等工具将其中的数据文件抽取出来;但如果asm的关键数据例如FILE NUMBER 1的文件指针损坏了,那么amdu和prm-dul也将无法从diskgroup中抽取出数据文件。 此时则需要使用prmscan工具,该工具可以从数据块级别识别镜像image中的数据,并重组合并。下面是一个ASM 元数据被彻底破坏的例子

[*]破坏asm磁盘

$ dd if=/dev/zero of=/dev/asm-diske bs=1M count=100100+0 records in100+0 records out104857600 bytes (100.0 MB) copied, 0.0987016 seconds, 1.1 GB/s2. 使用PRMscan扫描asm磁盘
$ java -jar PRMScan.jar --scan /dev/asm-diske --guess 8k$ java -jar PRMScan.jar --outputsh ./outputsh.txt$ sh outputsh.txt
3.使用PRM扫描拼出来的数据文件
http://7xqnta.com2.z0.glb.qiniucdn.com/wp-content/uploads/2016/08/prmscan-asm1.pnghttp://7xqnta.com2.z0.glb.qiniucdn.com/wp-content/uploads/2016/08/prmscan-asm2.png
http://7xqnta.com2.z0.glb.qiniucdn.com/wp-content/uploads/2016/08/prmscan-asm3.png
http://7xqnta.com2.z0.glb.qiniucdn.com/wp-content/uploads/2016/08/prmscan-asm4.png
http://7xqnta.com2.z0.glb.qiniucdn.com/wp-content/uploads/2016/08/prmscan-asm5.png
以上流程可以看到 例如prmscan 扫描ASM DISK可以成功抽取出完整的oracle datafile数据文件。
实际上对于prmscan 来说扫描ASM diskgroup下的ASM disk和扫描普通的磁盘分区、LV、PV并没有区别。prmscan默认使用最小512字节作为一个step size,每512字节去尝试识别一个block header,如果识别则记录到prmscan内嵌的数据库中,扫描完成后可以自动或手动将数据文件碎片拼起来,实现恢复的目的。只要数据没有被覆盖,且数据块没有断裂,那么一般都可以恢复其数据。
页: [1]
查看完整版本: prmscan扫描并恢复被破坏的Oracle ASM diskgroup磁盘组