oracle实验:用bbed恢复误删记录的全过程(二)

2014-11-24 12:28:58 · 作者: · 浏览: 1
.
SQL> commit;
www.2cto.com
Commit complete.
SQL> select * from c where deptno=10;
no rows selected
SQL> shutdown immediate
ORA-01031: insufficient privileges
SQL> conn sys/s as sysdba
Connected.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
删除完毕,并关闭 数据库,再去bbed:
4 登入bbed
BBED> dump /v dba 4,18820 offset 8162 count 23
File: /u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_7wvsw7hg_.dbf (4)
Block: 18820 Offsets: 8162 to 8184 Dba:0x01004984
-------------------------------------------------------
3c020302 c10b0a41 43434f55 4e54494e l <... ..ACCOUNTIN
47084e45 572059 l G.NEW Y
<16 bytes per line>
发现没?accounting所在行变成了以3c打头了。把3c改成2c:
BBED> modify /x 2c offset 8162
Warning: contents of previous BIFILE will be lost. Proceed (Y/N) y
File: /u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_7wvsw7hg_.dbf (4)
Block: 18820 Offsets: 8162 to 8184 Dba:0x01004984
------------------------------------------------------------------------
2c020302 c10b0a41 43434f55 4e54494e 47084e45 572059
<32 bytes per line>
www.2cto.com
BBED> sum dba 4,18820
Check value for File 4, Block 18820:
current = 0xec39, required = 0xec29
BBED> sum dba 4,18820 apply
Check value for File 4, Block 18820:
current = 0xec29, required = 0xec29
5 登入数据库,看一下是否恢复了被删的行:
SQL> startup
ORACLE instance started.
Total System Global Area 524288000 bytes
Fixed Size 1220336 bytes
Variable Size 197132560 bytes
Database Buffers 318767104 bytes
Redo Buffers 7168000 bytes
Database mounted. www.2cto.com
Database opened.
SQL> conn scott/tiger
Connected.
SQL> select * from c;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL>
成功恢复。
作者 linwaterbin