
修改数据文件头做完全恢复-bbed3.txt
6、查询控制文件中的每个数据文件头实际的检查点号:
SQL> select name,CHECKPOINT_CHANGE# from v$datafile_header;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/TIANJIN/system01.dbf 1991891
/u01/app/oracle/oradata/TIANJIN/undotbs01.dbf 1991891
/u01/app/oracle/oradata/TIANJIN/sysaux01.dbf 1991891
/u01/app/oracle/oradata/TIANJIN/users01.dbf 1951719
/u01/app/oracle/oradata/TIANJIN/example01.dbf 1991891
/u01/app/oracle/oradata/TIANJIN/rbs01.dbf 1991891
/u01/app/oracle/oradata/TIANJIN/gguser.dbf 1991891
通过比较,我们发现当前数据文件头的检查点号是:1951719,把它转换成16进制
是1DC7E7;而所应该有的检查点号是1991891,转换成16进制是1E64D3。
7、使用BBED进行修改,先显示有关数据文件的信息:
BBED> info
File# Name Size(blks)
----- ---- ----------
1 /u01/app/oracle/oradata/TIANJIN/system01.dbf 64000
2 /u01/app/oracle/oradata/TIANJIN/undotbs01.dbf 5120
3 /u01/app/oracle/oradata/TIANJIN/sysaux01.dbf 35840
4 /u01/app/oracle/oradata/TIANJIN/users01.dbf 5280
5 /u01/app/oracle/oradata/TIANJIN/example01.dbf 12800
8 /u01/app/oracle/oradata/TIANJIN/rbs01.dbf 2560
9 /u01/app/oracle/oradata/TIANJIN/gguser.dbf 6400
8、设置需要修改的数据文件:
BBED> set dba 4,1
DBA 0x01000001 (16777217 4,1)
9、dump其中的内容:
BBED> d /v dba 4,1
File: /u01/app/oracle/oradata/TIANJIN/users01.dbf (4)
Block: 1 Offsets: 0 to 511 Dba:0x01000001
-------------------------------------------------------
0ba20000 01000001 00000000 00000104 l ..............
d8d50000 00000000 0001200a 0bbd9409 l 卣........ ...
50524f44 5f544a00 1b120000 a0140000 l PROD_TJ.......
10、打印数据文件头的信息:
BBED> p kcvfhckp
struct kcvfhckp, 36 bytes @484
struct kcvcpscn, 8 bytes @484
ub4 kscnbas @484 0x001dc7e7 --这里就是16
进制的检查点号
ub2 kscnwrp @488 0x0000
ub4 kcvcptim @492 0x2f38cc88
ub2 kcvcpthr @496 0x0001
union u, 12 bytes @500
struct kcvcprba, 12 bytes @500
ub4 kcrbaseq @500 0x0000006b
第 2 页
Tel:010-88589826 Fax:010-88587520 网址: http://www.cuug.com
评论