联系:QQ(5163721)
标题: 使用DUL和ODU抽取Exadata上的oracle数据库(抽取磁盘上的数据文件)
作者:Lunar©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]
之前研究过dul和odu,发现不能识别磁盘,当时犯了一个错误,因为普通环境(非exadata环境),都是在主机上运行扫描磁盘的工作,因此我之前也在exadata的主机上扫描磁盘,发现不行,具体参见:
在Exadata上,为什么 DUL 和 ODU不能读取ASM数据库的数据,但是Kfed却可以?
今天在exadata的存储节点(cell节点)上配置了一下,发现dul和odu都可以直接扫描磁盘,以 后有exadata上oracle数据库损坏时,请联系我,O(∩_∩)O哈哈
具体测试如下:
[root@dm01cel01 lunar]# ./dul Data UnLoader: 10.2.0.6.5 - Internal Only - on Tue Jun 23 20:30:37 2015 with 64-bit io functions Copyright (c) 1994 2015 Bernard van Duijnen All rights reserved. Strictly Oracle Internal Use Only DUL: Warning: Could not open parameter file <init.dul> DUL: Warning: Compatible is set to 10 Values can be 6|7|8|9|10 DUL: Warning: no parameter file means no logfile DUL: Warning: block 0 is not a disk header block DUL: Warning: ASM Block type 32 not handled yet ................... DUL>扫描磁盘 ............ DUL: Error: INCSEQ mismatch[8388877!=427426078] DUL: Error: While processing unknown file unknown block offset 33605120 possible block of size 512 DUL: Error: INCSEQ mismatch[8388892!=23134477] DUL: Error: While processing unknown file unknown block DUL: Error: block trailer mismatch found 0X0080011C expect 0X0A611C80 DUL: Error: checksum should be unused: 0x0a64 DUL: Error: While processing unknown file unknown block DUL: Error: block trailer mismatch found 0X0080011B expect 0X02540C80 ............ DUL: Error: block trailer mismatch found 0X00800888 expect 0X021B0D80 DUL: Error: checksum should be unused: 0x0229 DUL: Error: While processing unknown file unknown block DUL: Error: INCSEQ mismatch[8390800!=961087622] DUL: Error: While processing unknown file unknown block Found file 2 block 88576 type 32 offs 46137344 delta 69398953984 extent of 512 blocks Found file 1 block 102400 type 6 offs 50331648 delta 35148267520 extent of 473 blocks Found file 2 block 98816 type 32 offs 54525952 delta 69474451456 extent of 512 blocks Found file 2 block 107008 type 32 offs 58720256 delta 69537366016 extent of 512 blocks Found file 2 block 111104 type 32 offs 62914560 delta 69566726144 extent of 512 blocks Found file 2 block 125440 type 32 offs 67108864 delta 69679972352 extent of 512 blocks Found file 352 block 7168 type 6 offs 71303168 delta 12094615322624 extent of 512 blocks Found file 352 block 25600 type 6 offs 75497472 delta 12094762123264 extent of 512 blocks Found file 352 block 44032 type 32 offs 79691776 delta 12094908923904 extent of 512 blocks Found file 352 block 46592 type 6 offs 83886080 delta 12094925701120 extent of 512 blocks Found file 352 block 58880 type 6 offs 88080384 delta 12095022170112 extent of 512 blocks Found file 352 block 62464 type 32 offs 92274688 delta 12095047335936 extent of 512 blocks Found file 352 block 66048 type 6 offs 96468992 delta 12095072501760 extent of 512 blocks Found file 352 block 78848 type 32 offs 100663296 delta 12095173165056 extent of 512 blocks Found file 352 block 80896 type 6 offs 104857600 delta 12095185747968 extent of 512 blocks Found file 352 block 87552 type 6 offs 109051904 delta 12095236079616 extent of 512 blocks Found file 352 block 89600 type 6 offs 113246208 delta 12095248662528 extent of 512 blocks Found file 352 block 98304 type 6 offs 117440512 delta 12095315771392 extent of 512 blocks Found file 352 block 99328 type 6 offs 121634816 delta 12095319965696 Found file 381 block 2410496 type 6 offs 54836330496 delta 13055970770944 extent of 512 blocks Found file 381 block 2422272 type 32 offs 54840524800 delta 13056063045632 ^C [root@dm01cel01 lunar]#
这里我使用control+C终止了,因为磁盘太大了,扫描时间太久,上面的信息已经可以证明,至少可以扫描至于normal external等其他问题,以后再说。
扫描文件具体如下:
[root@dm01cel01 lunar]# ll total 3172 -rw-r--r-- 1 root root 71 Jun 23 20:30 control.dul -rwxrwxr-x 1 celladmin 1000 1101896 May 5 00:14 dul -rw-r--r-- 1 root root 487424 Jun 23 20:36 IDX_DATA1.dat [root@dm01cel01 lunar]# head IDX_DATA1.dat D /dev/sdc B 46137344 8477184 1 6687 T 46145536 8477185 7 6687 T 46202880 8477192 8 6643 T 46268416 8477200 8 6649 T 46333952 8477208 8 6651 T 46399488 8477216 8 6657 T 46465024 8477224 8 6653 T 46530560 8477232 8 6655 T 46596096 8477240 8 6687 [root@dm01cel01 lunar]#
这里 IDX_DATA1.dat 就是dul扫描出来的一些信息,之后使用命令抽成文件就依据这些。
再看看ODU:
[root@dm01cel01 odu]# ./odu Oracle Data Unloader trial version 4.1.3 Copyright (c) 2008,2009,2010,2011 XiongJun. All rights reserved. Web: http://www.oracleodu.com Email: magic007cn@gmail.com loading default config....... byte_order little block_size 8192 block_buffers 1024 error at line 3. db_timezone -7 Invalid db timezone:-7 client_timezone 8 Invalid client timezone:8 asmfile_extract_path /tmp/lunar ....... scan disk start: 2015-06-23 21:19:25 scanning disk... writing file error No space left on device writing file error No space left on device writing file error No space left on device writing file error No space left on device writing file error No space left on device writing file error No space left on device writing file error No space left on device writing file error No space left on device writing file error No space left on device writing file error No space left on device writing file error No space left on device .......... writing file error No space left on device writing file error No space left on device
这里报错是因为cell上磁盘空间很小,稍微一折腾就满了(存放ODU抽取文件的是根,100%了):
[root@dm01cel01 odu]# ll total 18280 -rw-r--r-- 1 root root 16109568 Jun 23 21:20 asmblocks.odu -rwxrwxrwx 1 root root 353 Jun 23 21:15 asmdisk.txt -rwxrwxrwx 1 root root 560 Jun 23 21:10 config.txt -rwxrwxrwx 1 root root 118 Mar 22 2011 control.txt drwxr-xr-x 2 501 cellmonitor 4096 May 15 2009 data -rwxrwxrwx 1 root root 2588361 Feb 2 2012 odu -rw-r--r-- 1 root root 0 Jun 23 20:45 odu_trace.txt [root@dm01cel01 odu]# df -h Filesystem Size Used Avail Use% Mounted on /dev/md5 9.9G 9.9G 0 100% / tmpfs 48G 4.0K 48G 1% /dev/shm /dev/md7 3.0G 1.7G 1.2G 58% /opt/oracle /dev/md4 114M 25M 84M 23% /boot /dev/md11 5.0G 199M 4.5G 5% /var/log/oracle [root@dm01cel01 odu]#
先别急删除,进去看看数据;
[root@dm01cel01 odu]# cd data /tmp/lunar/odu/data [root@dm01cel01 data]# ll total 0 [root@dm01cel01 data]# cd .. [root@dm01cel01 odu]# ll total 18280 -rw-r--r-- 1 root root 16109568 Jun 23 21:20 asmblocks.odu -rwxrwxrwx 1 root root 353 Jun 23 21:15 asmdisk.txt -rwxrwxrwx 1 root root 560 Jun 23 21:10 config.txt -rwxrwxrwx 1 root root 118 Mar 22 2011 control.txt drwxr-xr-x 2 501 cellmonitor 4096 May 15 2009 data -rwxrwxrwx 1 root root 2588361 Feb 2 2012 odu -rw-r--r-- 1 root root 0 Jun 23 20:45 odu_trace.txt [root@dm01cel01 odu]# [root@dm01cel01 odu]# more asmblocks.odu ######################################################################################## ## data_obj#,block_type, scn_base,scn_wrap,group_no,disk_no,au_no,au_block_no,rdba##### ######################################################################################### 105140,6,2084721470,1468,1,20,13,1,8478721 105140,6,2084721466,1468,1,20,13,2,8478722 105140,6,2084761650,1468,1,20,13,3,8478723 105140,6,2084721466,1468,1,20,13,4,8478724 105140,6,2084721466,1468,1,20,13,5,8478725 105140,6,2084721466,1468,1,20,13,6,8478726 105140,6,2084721466,1468,1,20,13,7,8478727 105052,6,2084729409,1468,1,20,13,9,8478729 105052,6,2084754575,1468,1,20,13,10,8478730 105052,6,2084729334,1468,1,20,13,11,8478731 105052,6,2084729334,1468,1,20,13,12,8478732 105052,6,2084729334,1468,1,20,13,13,8478733 105052,6,2084729409,1468,1,20,13,14,8478734 105052,6,2084739193,1468,1,20,13,15,8478735 105108,6,2084768994,1468,1,20,13,17,8478737 105108,6,2084768948,1468,1,20,13,18,8478738 105108,6,2084729462,1468,1,20,13,19,8478739 105108,6,2084753947,1468,1,20,13,20,8478740 105108,6,2084738498,1468,1,20,13,21,8478741 105108,6,2084760977,1468,1,20,13,22,8478742 105108,6,2084760977,1468,1,20,13,23,8478743 105096,6,2084746973,1468,1,20,13,25,8478745 105096,6,2084728789,1468,1,20,13,26,8478746 105096,6,2084738658,1468,1,20,13,27,8478747 105096,6,2084728789,1468,1,20,13,28,8478748 105096,6,2084746205,1468,1,20,13,29,8478749 105096,6,2084746264,1468,1,20,13,30,8478750 105096,6,2084761170,1468,1,20,13,31,8478751 105048,6,2084738715,1468,1,20,13,33,8478753 105048,6,2084761180,1468,1,20,13,34,8478754 105048,6,2084761188,1468,1,20,13,35,8478755 105048,6,2084738679,1468,1,20,13,36,8478756 105048,6,2084754128,1468,1,20,13,37,8478757 105048,6,2084738715,1468,1,20,13,38,8478758 105048,6,2084738715,1468,1,20,13,39,8478759 6580,6,2084212809,1468,1,20,13,40,8478760 6580,6,2084649441,1468,1,20,13,41,8478761 [root@dm01cel01 odu]# 。。。 [root@dm01cel01 odu]# cd .. [root@dm01cel01 lunar]# ll total 2743224 -rw-r--r-- 1 root root 847249408 Jun 23 21:19 1.dbf -rw-r--r-- 1 root root 901775360 Jun 23 21:19 2.dbf -rw-r--r-- 1 root root 33260830720 Jun 23 21:19 352.dbf -rw-r--r-- 1 root root 19101519872 Jun 23 21:20 353.dbf -rw-r--r-- 1 root root 71 Jun 23 20:30 control.dul -rwxrwxr-x 1 celladmin 1000 1101896 May 5 00:14 dul -rw-r--r-- 1 root root 487424 Jun 23 20:36 IDX_DATA1.dat drwxr-xr-x 3 501 cellusers 4096 Jun 23 21:15 odu [root@dm01cel01 lunar]#
可以看到,odu也抽出了数据, 并且,可以看到,已经抽取了几个dbf的数据文件。