定位数据在ASM中的位置(4)

DISK_NUMBER NAME                                                        PATH
----------- ------------------------------------------------------------ --------------------------------------------------
          2 TESTDG_0002                                                  /dev/raw/raw13
          3 TESTDG_0003                                                  /dev/raw/raw14

测试数据位于2号磁盘的42号AU的第7个块。我们首先将这个AU的数据dd出来:
[grid@jyrac1 ~]$ dd if=/dev/raw/raw13 bs=1024k count=1 skip=42 of=AU42.dd
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.021209 seconds, 49.4 MB/s


注意几个参数的含义:
bs=1024k -- AU的大小
skip=42 -- 它是指跳过文件的前42个数据块,从第43个数据块开始,因为AU的序号是从0开始
count=1 -- 只需要导出一个AU

然后将7号块的数据从AU中导出:
[grid@jyrac1 ~]$ dd if=AU42.dd bs=8k count=1 skip=7 of=block135.dd
1+0 records in
1+0 records out
8192 bytes (8.2 kB) copied, 9.3e-05 seconds, 88.1 MB/s


注意bs指定为8k(数据块大小),skip指它是指跳过文件的前7个数据块,从第8个数据块开始,因为AU中的块号也是从0开始(要导出的块号)。

查看数据块内容:
[grid@jyrac1 ~]$ od -c block135.dd
0000000 006 242  \0  \0 207  \0 300 002 020  W 314  \0  \0  \0 001 006
0000020 305 276  \0  \0 001  \0 020  \0 351  _ 001  \0 016  W 314  \0
0000040  \0  \0 350 037 002 037  2  \0 200  \0 300 002 005  \0  \r  \0
....
0017760 001 200 001  , 001 002 002 301 002 002  J  Y 001 006 020  W
0020000


在内容的最后可以看到插入的数据 -- JY.注意Oracle数据块从下向上填充。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/d16402500bc53a18e7ded66ee557d428.html