项目案例:客户删除delete了重要数据,无备份,客户联系我,要求恢复相应数据。本次通过实验方式重现客户现场。备份高于一切,首先备份,再操作
创建表格:
-  create table king(age number,name varchar2(20)); 
-  insert into king values(20,'rick'); 
-  insert into king values(30,'wuzy'); 
-  commit; 
-  select dbms_rowid.rowid_relative_fno(rowid) rel_fno,dbms_rowid.rowid_block_number(rowid) blockno from king 4 303 
-  delete from king where age=30; 
-  commit 
结果:
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
结果:
删减数据已经恢复。
注意:3C是已经删除的数据 2C是没有删除数据
本文转自东方之子736651CTO博客,原文链接:http://blog.51cto.com/ecloud/1788966 ,如需转载请自行联系原作者
