實驗1:利用BBED工具恢復刪除的資料行
當我們誤刪除資料行,UNDO已經被覆蓋,資料量少的話可以考慮使用BBED恢復刪除的資料行。
SQL> create table perry(id number,name varchar2(10)) tablespace perry;
SQL> insert into perry values (1111,'aaaa') ;
已建立 1 行。
SQL> insert into perry values (2222,'bbbb') ;
已建立 1 行。
SQL> insert into perry values (3333,'cccc') ;
已建立 1 行。
SQL> commit;
提交完成。
SQL> alter system flush buffer_cache; --讓插入的資料寫入資料檔案。
系統已更改。
SQL> select dbms_rowid.rowid_object(rowid) object_id,
2 dbms_rowid.rowid_relative_fno(rowid) file_id,
3 dbms_rowid.rowid_block_number(rowid) block_id,
4 dbms_rowid.rowid_row_number(rowid) num
5 from perry;
OBJECT_ID FILE_ID BLOCK_ID NUM
---------- ---------- ---------- ----------
52508 6 16 0
52508 6 16 1
52508 6 16 2
SQL> select * from perry ;
ID NAME
---------- ----------
1111 aaaa
2222 bbbb
3333 cccc
SQL> delete from perry where id=2222; --刪除一行資料,下面就是來恢復這行資料。
已刪除 1 行。
SQL> alter system flush buffer_cache;
系統已更改。
SQL> select dbms_rowid.rowid_object(rowid) object_id,
2 dbms_rowid.rowid_relative_fno(rowid) file_id,
3 dbms_rowid.rowid_block_number(rowid) block_id,
4 dbms_rowid.rowid_row_number(rowid) num
5 from perry;
OBJECT_ID FILE_ID BLOCK_ID NUM
---------- ---------- ---------- ----------
52508 6 16 0
52508 6 16 2
登陸BBED
[oracle@test ~]$ bbed parfile=/opt/bbed/bbed.par
Password:
BBED: Release 2.0.0.0.0 - Limited Production on Fri Aug 22 11:04:20 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED> set dba 6,16
DBA 0x01800010 (25165840 6,16)
BBED> p kdbr --可以看到3行資料,我們刪除的那行資料還在,看來並未從資料檔案真正刪除!
sb2 kdbr[0] @118 8076
sb2 kdbr[1] @120 8064
sb2 kdbr[2] @122 8052
BBED> p rowdata --表perry儲存3行記錄佔用了36個位元組。
ub1 rowdata[0] @8152 0x2c --FLAG行標記:HFL(44or0x2c)代表正常記錄,HDFL(60or0x3c)代表刪除了該記錄。
ub1 rowdata[1] @8153 0x00 --0號事務槽
ub1 rowdata[2] @8154 0x02 --表欄位的個數
ub1 rowdata[3] @8155 0x03 --id欄位佔用的位元組數,是表第三條記錄,oracle資料行從塊底向上插入。
ub1 rowdata[4] @8156 0xc2
ub1 rowdata[5] @8157 0x22
ub1 rowdata[6] @8158 0x22 --從8156至8158是ID欄位內容
SQL> select dump(3333,16) from dual ;
DUMP(3333,16)
---------------------
Typ=2 Len=3: c2,22,22
ub1 rowdata[7] @8159 0x04 --name欄位佔用位元組數
ub1 rowdata[8] @8160 0x63
ub1 rowdata[9] @8161 0x63
ub1 rowdata[10] @8162 0x63
ub1 rowdata[11] @8163 0x63 --從8160至8163是name欄位內容
ub1 rowdata[12] @8164 0x3c --此處就是刪除的第二條記錄,offset=8164
ub1 rowdata[13] @8165 0x02
ub1 rowdata[14] @8166 0x02
ub1 rowdata[15] @8167 0x03
ub1 rowdata[16] @8168 0xc2
ub1 rowdata[17] @8169 0x17
ub1 rowdata[18] @8170 0x17
ub1 rowdata[19] @8171 0x04
ub1 rowdata[20] @8172 0x62
ub1 rowdata[21] @8173 0x62
ub1 rowdata[22] @8174 0x62
ub1 rowdata[23] @8175 0x62
ub1 rowdata[24] @8176 0x2c
ub1 rowdata[25] @8177 0x00
ub1 rowdata[26] @8178 0x02
ub1 rowdata[27] @8179 0x03
ub1 rowdata[28] @8180 0xc2
ub1 rowdata[29] @8181 0x0c
ub1 rowdata[30] @8182 0x0c
ub1 rowdata[31] @8183 0x04
ub1 rowdata[32] @8184 0x61
ub1 rowdata[33] @8185 0x61
ub1 rowdata[34] @8186 0x61
ub1 rowdata[35] @8187 0x61
BBED> set offset 8164 --定位到8164
OFFSET 8164
BBED> d
File: /oradata/susdata/perry01.dbf (6)
Block: 16 Offsets: 8164 to 8191 Dba:0x01800010
------------------------------------------------------------------------
3c020203 c2171704 62626262 2c000203 c20c0c04 61616161 0106bcb7
<32 bytes per line>
BBED> m /x 2c --把3C修改為2C,即把flag修改成-HFL 。
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
File: /oradata/susdata/perry01.dbf (6)
Block: 16 Offsets: 8164 to 8191 Dba:0x01800010
------------------------------------------------------------------------
2c020203 c2171704 62626262 2c000203 c20c0c04 61616161 0106bcb7
<32 bytes per line>
BBED> sum apply --使修改生效
Check value for File 6, Block 16:
current = 0x967e, required = 0x967e
BBED> verify
DBVERIFY - Verification starting
FILE = /oradata/susdata/perry01.dbf
BLOCK = 16
Block Checking: DBA = 25165840, Block Type = KTB-managed data block
data header at 0x2a96dbd264
kdbchk: the amount of space used is not equal to block size
used=60 fsc=10 avsp=8028 dtl=8088
Block 16 failed with check code 6110
DBVERIFY - Verification complete
Total Blocks Examined : 1
Total Blocks Processed (Data) : 1
Total Blocks Failing (Data) : 1
Total Blocks Processed (Index): 0
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0
SQL> select * from perry ; --刪除的資料並沒有出現
ID NAME
---------- ----------
1111 aaaa
3333 cccc
SQL> alter system flush buffer_cache; --重新整理下buffer cache
系統已更改。
SQL> select * from perry;
ID NAME
---------- ----------
1111 aaaa
2222 bbbb
3333 cccc
資料行找回來了,很多網友認為恢復已經完成,其實還沒有結束。可以看到在執行verify命令的輸出,雖然沒有損壞,但是使用空間不對,因為多了一行,使用空間肯定比之前佔用的長度大了。
kdbchk: the amount of space used is not equal to block size
used=60 fsc=10 avsp=8028 dtl=8088 --空間使用資訊
BBED> p kdbh --資料塊頭資訊
struct kdbh, 14 bytes @100
ub1 kdbhflag @100 0x00 (NONE)
b1 kdbhntab @101 1
b2 kdbhnrow @102 3
sb2 kdbhfrre @104 -1
sb2 kdbhfsbo @106 24
sb2 kdbhfseo @108 8052
b2 kdbhavsp @110 8028
b2 kdbhtosp @112 8040
--可以看到,kdbhtosp值和我們實際值不一致,kdbhtosp = dtl(8088) - used(60)=8028
SQL> select to_char(8028,'xxxxx') from dual;
TO_CHA
------
1f5c
--要修改成這個值,記得根據作業系統平臺不同,位元組序不同。
BBED> m /x 5c1f offset 112
File: /oradata/susdata/perry01.dbf (6)
Block: 16 Offsets: 112 to 623 Dba:0x01800010
------------------------------------------------------------------------
5c1f0000 03008c1f 801f741f 992dc000 992dc000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
02000000 00200000 00000000 34140000 00000000 9a2dc000 01000000 992dc000
9a2dc000 00000000 00000000 00000000 00000000 00000000 01000000 00000000
8fa30000 00000010 992dc000 08000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<32 bytes per line>
BBED> sum apply
Check value for File 6, Block 16:
current = 0x964a, required = 0x964a
BBED> verify
DBVERIFY - Verification starting
FILE = /oradata/susdata/perry01.dbf
BLOCK = 16
Block Checking: DBA = 25165840, Block Type = KTB-managed data block
data header at 0x2a96dbd264
kdbchk: the amount of space used is not equal to block size
used=60 fsc=10 avsp=8028 dtl=8088 -- --還是不一致,發現fsc是10,但是我們實際恢復過來是沒有預留空間的。所以把fsc改為00 。
Block 16 failed with check code 6110
DBVERIFY - Verification complete
Total Blocks Examined : 1
Total Blocks Processed (Data) : 1
Total Blocks Failing (Data) : 1
Total Blocks Processed (Index): 0
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0
BBED> p ktbbhitl[1]
struct ktbbhitl[1], 24 bytes @68
struct ktbitxid, 8 bytes @68
ub2 kxidusn @68 0x0009
ub2 kxidslt @70 0x000e
ub4 kxidsqn @72 0x00000166
struct ktbituba, 8 bytes @76
ub4 kubadba @76 0x00800108
ub2 kubaseq @80 0x00f7
ub1 kubarec @82 0x1b
ub2 ktbitflg @84 0x0001 (NONE)
union _ktbitun, 2 bytes @86
b2 _ktbitfsc @86 10 --此值就是上面看到的fsc=10
ub2 _ktbitwrp @86 0x000a
ub4 ktbitbas @88 0x00000000
BBED> m /x 00 offset 86 --修改成00
File: /oradata/susdata/perry01.dbf (6)
Block: 16 Offsets: 86 to 597 Dba:0x01800010
------------------------------------------------------------------------
00000000 00000000 00000000 00000001 0300ffff 1800741f 5c1f5c1f 00000300
8c1f801f 741f992d c000992d c0000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000200 00000020
00000000 00003414 00000000 00009a2d c0000100 0000992d c0009a2d c0000000
00000000 00000000 00000000 00000000 00000100 00000000 00008fa3 00000000
0010992d c0000800 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<32 bytes per line>
BBED> sum apply
Check value for File 6, Block 16:
current = 0x9640, required = 0x9640
BBED> verify
DBVERIFY - Verification starting
FILE = /oradata/susdata/perry01.dbf
BLOCK = 16
DBVERIFY - Verification complete
Total Blocks Examined : 1
Total Blocks Processed (Data) : 1
Total Blocks Failing (Data) : 0
Total Blocks Processed (Index): 0
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0
至此,可以看出已經一致了,恢復行資料已經完成。
SQL> create table perry(id number,name varchar2(10)) tablespace perry;
SQL> insert into perry values (1111,'aaaa') ;
已建立 1 行。
SQL> insert into perry values (2222,'bbbb') ;
已建立 1 行。
SQL> insert into perry values (3333,'cccc') ;
已建立 1 行。
SQL> commit;
提交完成。
SQL> alter system flush buffer_cache; --讓插入的資料寫入資料檔案。
系統已更改。
SQL> select dbms_rowid.rowid_object(rowid) object_id,
2 dbms_rowid.rowid_relative_fno(rowid) file_id,
3 dbms_rowid.rowid_block_number(rowid) block_id,
4 dbms_rowid.rowid_row_number(rowid) num
5 from perry;
OBJECT_ID FILE_ID BLOCK_ID NUM
---------- ---------- ---------- ----------
52508 6 16 0
52508 6 16 1
52508 6 16 2
SQL> select * from perry ;
ID NAME
---------- ----------
1111 aaaa
2222 bbbb
3333 cccc
SQL> delete from perry where id=2222; --刪除一行資料,下面就是來恢復這行資料。
已刪除 1 行。
SQL> alter system flush buffer_cache;
系統已更改。
SQL> select dbms_rowid.rowid_object(rowid) object_id,
2 dbms_rowid.rowid_relative_fno(rowid) file_id,
3 dbms_rowid.rowid_block_number(rowid) block_id,
4 dbms_rowid.rowid_row_number(rowid) num
5 from perry;
OBJECT_ID FILE_ID BLOCK_ID NUM
---------- ---------- ---------- ----------
52508 6 16 0
52508 6 16 2
登陸BBED
[oracle@test ~]$ bbed parfile=/opt/bbed/bbed.par
Password:
BBED: Release 2.0.0.0.0 - Limited Production on Fri Aug 22 11:04:20 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED> set dba 6,16
DBA 0x01800010 (25165840 6,16)
BBED> p kdbr --可以看到3行資料,我們刪除的那行資料還在,看來並未從資料檔案真正刪除!
sb2 kdbr[0] @118 8076
sb2 kdbr[1] @120 8064
sb2 kdbr[2] @122 8052
BBED> p rowdata --表perry儲存3行記錄佔用了36個位元組。
ub1 rowdata[0] @8152 0x2c --FLAG行標記:HFL(44or0x2c)代表正常記錄,HDFL(60or0x3c)代表刪除了該記錄。
ub1 rowdata[1] @8153 0x00 --0號事務槽
ub1 rowdata[2] @8154 0x02 --表欄位的個數
ub1 rowdata[3] @8155 0x03 --id欄位佔用的位元組數,是表第三條記錄,oracle資料行從塊底向上插入。
ub1 rowdata[4] @8156 0xc2
ub1 rowdata[5] @8157 0x22
ub1 rowdata[6] @8158 0x22 --從8156至8158是ID欄位內容
SQL> select dump(3333,16) from dual ;
DUMP(3333,16)
---------------------
Typ=2 Len=3: c2,22,22
ub1 rowdata[7] @8159 0x04 --name欄位佔用位元組數
ub1 rowdata[8] @8160 0x63
ub1 rowdata[9] @8161 0x63
ub1 rowdata[10] @8162 0x63
ub1 rowdata[11] @8163 0x63 --從8160至8163是name欄位內容
ub1 rowdata[12] @8164 0x3c --此處就是刪除的第二條記錄,offset=8164
ub1 rowdata[13] @8165 0x02
ub1 rowdata[14] @8166 0x02
ub1 rowdata[15] @8167 0x03
ub1 rowdata[16] @8168 0xc2
ub1 rowdata[17] @8169 0x17
ub1 rowdata[18] @8170 0x17
ub1 rowdata[19] @8171 0x04
ub1 rowdata[20] @8172 0x62
ub1 rowdata[21] @8173 0x62
ub1 rowdata[22] @8174 0x62
ub1 rowdata[23] @8175 0x62
ub1 rowdata[24] @8176 0x2c
ub1 rowdata[25] @8177 0x00
ub1 rowdata[26] @8178 0x02
ub1 rowdata[27] @8179 0x03
ub1 rowdata[28] @8180 0xc2
ub1 rowdata[29] @8181 0x0c
ub1 rowdata[30] @8182 0x0c
ub1 rowdata[31] @8183 0x04
ub1 rowdata[32] @8184 0x61
ub1 rowdata[33] @8185 0x61
ub1 rowdata[34] @8186 0x61
ub1 rowdata[35] @8187 0x61
BBED> set offset 8164 --定位到8164
OFFSET 8164
BBED> d
File: /oradata/susdata/perry01.dbf (6)
Block: 16 Offsets: 8164 to 8191 Dba:0x01800010
------------------------------------------------------------------------
3c020203 c2171704 62626262 2c000203 c20c0c04 61616161 0106bcb7
<32 bytes per line>
BBED> m /x 2c --把3C修改為2C,即把flag修改成-HFL 。
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
File: /oradata/susdata/perry01.dbf (6)
Block: 16 Offsets: 8164 to 8191 Dba:0x01800010
------------------------------------------------------------------------
2c020203 c2171704 62626262 2c000203 c20c0c04 61616161 0106bcb7
<32 bytes per line>
BBED> sum apply --使修改生效
Check value for File 6, Block 16:
current = 0x967e, required = 0x967e
BBED> verify
DBVERIFY - Verification starting
FILE = /oradata/susdata/perry01.dbf
BLOCK = 16
Block Checking: DBA = 25165840, Block Type = KTB-managed data block
data header at 0x2a96dbd264
kdbchk: the amount of space used is not equal to block size
used=60 fsc=10 avsp=8028 dtl=8088
Block 16 failed with check code 6110
DBVERIFY - Verification complete
Total Blocks Examined : 1
Total Blocks Processed (Data) : 1
Total Blocks Failing (Data) : 1
Total Blocks Processed (Index): 0
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0
SQL> select * from perry ; --刪除的資料並沒有出現
ID NAME
---------- ----------
1111 aaaa
3333 cccc
SQL> alter system flush buffer_cache; --重新整理下buffer cache
系統已更改。
SQL> select * from perry;
ID NAME
---------- ----------
1111 aaaa
2222 bbbb
3333 cccc
資料行找回來了,很多網友認為恢復已經完成,其實還沒有結束。可以看到在執行verify命令的輸出,雖然沒有損壞,但是使用空間不對,因為多了一行,使用空間肯定比之前佔用的長度大了。
kdbchk: the amount of space used is not equal to block size
used=60 fsc=10 avsp=8028 dtl=8088 --空間使用資訊
BBED> p kdbh --資料塊頭資訊
struct kdbh, 14 bytes @100
ub1 kdbhflag @100 0x00 (NONE)
b1 kdbhntab @101 1
b2 kdbhnrow @102 3
sb2 kdbhfrre @104 -1
sb2 kdbhfsbo @106 24
sb2 kdbhfseo @108 8052
b2 kdbhavsp @110 8028
b2 kdbhtosp @112 8040
--可以看到,kdbhtosp值和我們實際值不一致,kdbhtosp = dtl(8088) - used(60)=8028
SQL> select to_char(8028,'xxxxx') from dual;
TO_CHA
------
1f5c
--要修改成這個值,記得根據作業系統平臺不同,位元組序不同。
BBED> m /x 5c1f offset 112
File: /oradata/susdata/perry01.dbf (6)
Block: 16 Offsets: 112 to 623 Dba:0x01800010
------------------------------------------------------------------------
5c1f0000 03008c1f 801f741f 992dc000 992dc000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
02000000 00200000 00000000 34140000 00000000 9a2dc000 01000000 992dc000
9a2dc000 00000000 00000000 00000000 00000000 00000000 01000000 00000000
8fa30000 00000010 992dc000 08000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<32 bytes per line>
BBED> sum apply
Check value for File 6, Block 16:
current = 0x964a, required = 0x964a
BBED> verify
DBVERIFY - Verification starting
FILE = /oradata/susdata/perry01.dbf
BLOCK = 16
Block Checking: DBA = 25165840, Block Type = KTB-managed data block
data header at 0x2a96dbd264
kdbchk: the amount of space used is not equal to block size
used=60 fsc=10 avsp=8028 dtl=8088 -- --還是不一致,發現fsc是10,但是我們實際恢復過來是沒有預留空間的。所以把fsc改為00 。
Block 16 failed with check code 6110
DBVERIFY - Verification complete
Total Blocks Examined : 1
Total Blocks Processed (Data) : 1
Total Blocks Failing (Data) : 1
Total Blocks Processed (Index): 0
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0
BBED> p ktbbhitl[1]
struct ktbbhitl[1], 24 bytes @68
struct ktbitxid, 8 bytes @68
ub2 kxidusn @68 0x0009
ub2 kxidslt @70 0x000e
ub4 kxidsqn @72 0x00000166
struct ktbituba, 8 bytes @76
ub4 kubadba @76 0x00800108
ub2 kubaseq @80 0x00f7
ub1 kubarec @82 0x1b
ub2 ktbitflg @84 0x0001 (NONE)
union _ktbitun, 2 bytes @86
b2 _ktbitfsc @86 10 --此值就是上面看到的fsc=10
ub2 _ktbitwrp @86 0x000a
ub4 ktbitbas @88 0x00000000
BBED> m /x 00 offset 86 --修改成00
File: /oradata/susdata/perry01.dbf (6)
Block: 16 Offsets: 86 to 597 Dba:0x01800010
------------------------------------------------------------------------
00000000 00000000 00000000 00000001 0300ffff 1800741f 5c1f5c1f 00000300
8c1f801f 741f992d c000992d c0000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000200 00000020
00000000 00003414 00000000 00009a2d c0000100 0000992d c0009a2d c0000000
00000000 00000000 00000000 00000000 00000100 00000000 00008fa3 00000000
0010992d c0000800 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<32 bytes per line>
BBED> sum apply
Check value for File 6, Block 16:
current = 0x9640, required = 0x9640
BBED> verify
DBVERIFY - Verification starting
FILE = /oradata/susdata/perry01.dbf
BLOCK = 16
DBVERIFY - Verification complete
Total Blocks Examined : 1
Total Blocks Processed (Data) : 1
Total Blocks Failing (Data) : 0
Total Blocks Processed (Index): 0
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0
至此,可以看出已經一致了,恢復行資料已經完成。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26008584/viewspace-1255930/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 實驗2:利用BBED工具刪除行資料
- 【BBED】使用bbed恢復已經刪除的行資料
- 實驗3:利用BBED工具插入行資料
- 利用rman全備恢復刪除的資料庫資料庫
- [20210930]bbed恢復刪除的資料.txt
- Sybase ASE資料庫恢復,Sybase資料恢復,資料誤刪除恢復工具READSYBDEVICE資料庫資料恢復dev
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- [20190213]學習bbed-恢復刪除的資料.txt
- Sybase SQL Anywhere(ASA)資料庫恢復,ASA資料恢復,資料誤刪除恢復工具ReadASADBSQL資料庫資料恢復
- oracle恢復誤刪除資料Oracle
- 【北亞資料恢復】誤刪除oracle表和誤刪除oracle表資料的資料恢復方法資料恢復Oracle
- [20121009]學習bbed-恢復刪除的資料.txt
- PostgreSQL中刪除的資料能否恢復SQL
- 實驗:centos6刪除核心並恢復CentOS
- Oracle閃回刪除恢復誤刪資料Oracle
- 利用日誌挖掘 oracle 不完全恢復 恢復誤刪除的表/資料/檢視等Oracle
- Oracle恢復誤刪除的資料檔案Oracle
- truncate table 誤刪除資料後的恢復
- 利用BBED修改資料塊SCN----極端環境下的資料恢復資料恢復
- 【備份恢復】不使用rman工具就能恢復被rm刪除的資料檔案案例
- 利用rman做資料檔案丟失的恢復實驗
- Linux環境利用恢復被rm意外刪除資料檔案Linux
- 一個恢復刪除檔案的工具
- 磁碟誤刪卷資料恢復工具資料恢復
- Flashback Query恢復誤刪除資料(轉)
- RM 刪除資料檔案恢復操作
- 28_bbed實戰(1)_delete操作恢復delete
- 恢復Oracle資料庫誤刪除資料的語句Oracle資料庫
- 利用undo進行資料的恢復操作
- 行動硬碟刪除的檔案能恢復嗎,怎樣恢復刪除的檔案硬碟
- 誤刪除資料了怎麼辦?小編交易誤刪除資料的恢復方法
- 【儲存資料恢復】HP EVA儲存誤刪除VDISK的資料恢復案例資料恢復
- 【儲存資料恢復】NetApp儲存誤刪除的資料恢復案例資料恢復APP
- 【伺服器資料恢復】LINUX誤刪除、格式化的資料恢復伺服器資料恢復Linux
- 【伺服器資料恢復】EMC Unity儲存誤刪除的資料恢復案例伺服器資料恢復Unity
- 【儲存資料恢復案例】Netapp誤操作刪除lun的資料恢復資料恢復APP
- Oracle資料恢復 - Linux / Unix 誤刪除的檔案恢復(轉)Oracle資料恢復Linux
- bbed_recover:恢復資料塊資料庫資料庫