昨天晚上花了几个小时时间,写了一个Oracle ASM的灾难恢复软件, 当Oracle ASM一个或多个盘损坏或丢失时, 可以最大化地将其余盘上的数据恢复出来.
程序还是采用不为大家所爱的命令行界面.
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.
打开磁盘组文件, 配置文件中列出各个盘的路径或镜象文件位置就行.
ASM> disk disk.txt
2 ASM disks opened.
—- ———————————–
0 d:oracleasmfile01.asm
1 d:oracleasmfile02.asm
扫描磁盘组,找出可能的数据文件.
ASM> scan
5 aulasm_0005.dbf 1 12
创建空的数据文件, 并打开.
ASM> create file aulasm_0005.dbf size 1
ASM> open rfn 5 file aulasm_0005.dbf
RFN File
—- ———————————————————
5 aulasm_0005.dbf
从ASM中读出数据块,写入对应的文件。
ASM> restore
然后用AUL去恢复,这里步骤就不详解了。
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
下载Windows版本玩玩吧。
Relative Posts:
转载请注明:爱开源 » Oracle ASM灾难恢复工具–AULASM