创建了一个跨越在两个盘中的Oracle ASM表空间,并在上面建了一个有49万条记录的表,用来进行ASM恢复测试。
SQL> select disk_number, name,path from v$asm_disk;
DISK_NUMBER NAME PATH
———– —————- ——————————
0 TEST_0000 D:ORACLEASMFILE01.ASM
1 TEST_0001 D:ORACLEASMFILE02.ASMSQL> create table emp_asm tablespace asmdemo as
2 select * from emp_bak where rownum < 500000;
第一次测试是在两个ASM盘都在的情况,应当可以恢复出49万条记录才是准确的,先从ASM中恢复出Oracle数据文件。
ASM> disk disk.txt
2 ASM disks opened.
—- ———————————–
0 d:oracleasmfile01.asm
1 d:oracleasmfile02.asm
ASM> scan
RFN File Size Blocks
—- ————— —– ——–
5 aulasm_0005.dbf 25 3079
ASM> create file aulasm_0005.dbf size 26
ASM> open rfn 5 file aulasm_0005.dbf
RFN File
—- ———————————————————
5 aulasm_0005.dbf
ASM> restore
Restore by ASM extent map file.
然后在AUL中进行数据恢复,确认是不是恢复出全部49万条记录。
AUL> unload object 13456 to 13456.txt;
2011-04-18 14:52:45
Sucessfully unload 499999 rows …
2011-04-18 14:53:05
第二次测试中丢失了第二块盘,应当可以恢复出大约一半的记录才是对的,先从ASM中恢复出Oracle数据文件。
ASM> disk disk.txt
1 ASM disks opened.
—- ———————————–
0 d:oracleasmfile01.asm
ASM> scan
RFN File Size Blocks
—- ————— —– ——–
5 aulasm_0005.dbf 25 3079
ASM> create file aulasm_0005.dbf size 26
ASM> open rfn 5 file aulasm_0005.dbf
RFN File
—- ———————————————————
5 aulasm_0005.dbf
ASM> restore
Restore by ASM extent map file.
然后在AUL中进行数据恢复,看看从AUL中恢复出来多少条记录,在这里刚好是将近一半,说明结果良好。
AUL> unload object 13456 to 13456.txt;
2011-04-18 14:55:09
Sucessfully unload 257375 rows …
2011-04-18 14:55:20
第三次测试中丢失了第一块盘,应当可以恢复出另一半的记录才是对的,理论上第二次和第三次恢复记录数之和应当和第一次恢复的记录数相等。
ASM> disk disk.txt
1 ASM disks opened.
—- ———————————–
0 d:oracleasmfile02.asm
ASM> scan
RFN File Size Blocks
—- ————— —– ——–
5 aulasm_0005.dbf 24 3071
ASM> create file aulasm_0005.dbf size 26
ASM> open rfn 5 file aulasm_0005.dbf
RFN File
—- ———————————————————
5 aulasm_0005.dbf
ASM> restore
Restore by ASM extent map file.
然后在AUL中进行数据恢复,看看从AUL中恢复出来多少条记录。计算了一下第二次和第三次恢复出来的记录数之后刚好等于第一次恢复的记录数,证明ASM恢复软件可用。
AUL> unload object 13456 to 13456.txt;
2011-04-18 14:57:30
Sucessfully unload 242624 rows …
2011-04-18 14:57:40
顺便透露一个Linux版AUL的改进消息,许可证不再动态了,只有服务器重起了才会改变,以方便大家进行数据恢复,毕竟Linux服务器很稳定,对大家来讲应当是更有利的许可证模式。
Relative Posts:
转载请注明:爱开源 » AUL for Oracle ASM数据恢复测试