I wrote a tool for Oracle ASM data recovery, for example, if we have an Oracle ASM with 10 disks in one disk group, and one of them corrupted, how to recover the data on other 9 disks? Now it's possible with the new data recovery utility -- AULASM. It's a command line tool for professional DBAs.
AUL : AnySQL UnLoader(MyDUL) for Oracle ASM, release 1.0.0
(C) Copyright Lou Fangxin 2011 (AnySQL.net), all rights reserved.
ASM> help
DISK — open ASM disks.
SCAN — scan ASM disks
RESTORE — restore data file from ASM
CREATE — create empty data file
OPEN — open data file
QUIT/EXIT — exit the program.
Open the disk files with "DISK" command, put each disk or image file path to a text file (disk.txt).
ASM> disk disk.txt
2 ASM disks opened.
—- ———————————–
0 d:\oracleasm\file01.asm
1 d:\oracleasm\file02.asm
Scan all the disks or image files to find out distinct data files stored.
ASM> scan
5 aulasm_0005.dbf 1 12
Create the empty data file, and keep it open.
ASM> create file aulasm_0005.dbf size 1
ASM> open rfn 5 file aulasm_0005.dbf
RFN File
—- ———————————————————
5 aulasm_0005.dbf
Now we can start the restore command to restore the Oracle data blocks to relative files.
ASM> restore
Then we are be able to recover the data with AUL utility.
D:\oracleasm>aul5b
Register Code: QYOW-EHSO-EIXO-MEKA-VQFG
AUL : AnySQL UnLoader(MyDUL) for Oracle 8/8i/9i/10g/11g, release 5.1.2(C) Copyright Lou Fangxin 2005-2010 (AnySQL.net), all rights reserved.
AUL> open db.txt
* ts# fno rfn ver bsize blocks filename
- —- —- —- — —– ———- ———————————–
Y 6 5 5 a2 8192 16384 aulasm_0005.dbf
AUL> scan data
2011-04-15 09:19:38
RDBA=0x0140000c(5/12),type=0×06,fmt=0xa2,seq=0×02,flag=0×04
seg/obj=0×00003486=13446,csc=0×0000.00412ee2,itc=3,typ=1 – DATA
tab#= 0 nrow= 2 offs= 02011-04-15 09:19:38
You can download Windows binary for fun freely.
