如何通过BBED找回删除数据

  1. 云栖社区>
  2. 博客>
  3. 正文

如何通过BBED找回删除数据

技术小甜 2017-11-23 20:44:00 浏览714
展开阅读全文

  项目案例:客户删除delete了重要数据,无备份,客户联系我,要求恢复相应数据。本次通过实验方式重现客户现场。备份高于一切,首先备份,再操作

创建表格:

  1. create table king(age number,name varchar2(20));

  2. insert into king values(20,'rick');

  3. insert into king values(30,'wuzy');

  4. commit;

     

  5. select dbms_rowid.rowid_relative_fno(rowid) rel_fno,dbms_rowid.rowid_block_number(rowid) blockno from king

     4     303

  6. delete from king where age=30;

     

  7. commit

 

结果:

wKioL1de0TmBQWCQAAAJzhw7UWA846.png

 

bbed恢复(建议关闭数据库):

set file 4,303

find /c wuzy

 File: /u01/app/oracle/oradata/orcl/users01.dbf (4)
 Block: 303              Offsets: 8173 to 8191           Dba:0x0100012f
------------------------------------------------------------------------
 77757a79 2c000202 c1150472 69636b01 064a2f 

p kdbr

BBED> p kdbr
sb2 kdbr[0]                                 @118      8077
sb2 kdbr[1]                                 @120      8066

BBED> p *kdbr[0]
rowdata[11]
-----------
ub1 rowdata[11]                             @8177     0x2c

BBED> p *kdbr[1]
rowdata[0]
----------
ub1 rowdata[0]                              @8166     0x2c

BBED> set dba 4,303 offset 8173
 DBA             0x0100012f (16777519 4,303)
 OFFSET          8173

BBED> d /v dba 4,303 offset 8173
 File: /u01/app/oracle/oradata/orcl/users01.dbf (4)
 Block: 303     Offsets: 8173 to 8191  Dba:0x0100012f
-------------------------------------------------------
 77757a79 2c000202 c1150472 69636b01 l wuzy,....rick.
 06c42f                              l .

 <16 bytes per line>

BBED> d /v offset 8166
 File: /u01/app/oracle/oradata/orcl/users01.dbf (4)
 Block: 303     Offsets: 8166 to 8191  Dba:0x0100012f
-------------------------------------------------------
 3c020202 c11f0477 757a792c 000202c1 l <....wuzy,...
 15047269 636b0106 c42f              l ..rick..

 <16 bytes per line>

BBED> modify /x 2c
 File: /u01/app/oracle/oradata/orcl/users01.dbf (4)
 Block: 303              Offsets: 8166 to 8191           Dba:0x0100012f
------------------------------------------------------------------------
 2c020202 c11f0477 757a792c 000202c1 15047269 636b0106 c42f

 <32 bytes per line>

BBED> sum apply
Check value for File 4, Block 303:
current = 0x6436, required = 0x6436

结果:wKioL1de0zDSC0qLAAAM8Q4vJvs581.png

删减数据已经恢复。

 注意:3C是已经删除的数据  2C是没有删除数据







本文转自东方之子736651CTO博客,原文链接:http://blog.51cto.com/ecloud/1788966 ,如需转载请自行联系原作者


网友评论

登录后评论
0/500
评论
技术小甜
+ 关注