windows和linux下BBED使用体验

最近遇到到某个库的文启动中,数据文件SCN号不一致,本想按常规做,没有备份和归档。强上BBED,使用bbed修复损坏datafile header前推一致SCN号,启库。
需要说明的是,我下载了BBED到window环境下,操作过程中发现, p kcvfhckp这一步总是在报错。网上查了好多原因不得要领,不得已,将window环境下 datafile 11 移动到linux环境下解决。
windows和linux下BBED使用体验_第1张图片
这个是我window下报错截图,希望有高人能指点一下,如何解决报错问题。因为当window下数据文件过大的时候,来回迁移是不现实且低效的。

按照网上前人的经验,我在linux再次做一次实验:

启动数据块异常
SQL> startup
ORACLE instance started.

Total System Global Area 353441008 bytes
Fixed Size 451824 bytes
Variable Size 184549376 bytes
Database Buffers 167772160 bytes
Redo Buffers 667648 bytes
Database mounted.
ORA-01110: data file 11: ‘/u01/oracle/oradata/xifenfei/bbed01.dbf’
ORA-01115: IO error reading block from file 11 (block # 1)
ORA-27072: skgfdisp: I/O error
bbed检测datafile header
[oracle@xifenfei ~]$ bbed password=blockedit blocksize=8192 listfile=/home/oracle/bbed.file mode=edit

BBED: Release 2.0.0.0.0 - Limited Production on Sat May 26 05:29:37 2012

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

*** !!! For Oracle Internal Use only !!! *****

BBED> info
File# Name Size(blks)
—– —- ———-
1 /home/oracle/users01.dbf 0
2 /home/oracle/system01.dbf.head 0
3 /home/oracle/data11.ora 0
4 /u01/oracle/oradata/xifenfei/system01.dbf 0
5 /u01/oracle/oradata/xifenfei/users01.dbf 0
6 /home/oracle/data11.ora.10 0
11 /u01/oracle/oradata/xifenfei/bbed01.dbf 0
12 /u01/oracle/oradata/xifenfei/bbed02.dbf 0

BBED> set file 11
FILE# 11

BBED> set block 1
BLOCK# 1

BBED> show
FILE# 11
BLOCK# 1
OFFSET 0
DBA 0x02c00001 (46137345 11,1)
FILENAME /u01/oracle/oradata/xifenfei/bbed01.dbf
BIFILE bifile.bbd
LISTFILE /home/oracle/bbed.file
BLOCKSIZE 8192
MODE Edit
EDIT Unrecoverable
IBASE Dec
OBASE Dec
WIDTH 80
COUNT 16
LOGFILE log.bbd
SPOOL No

BBED> map
File: /u01/oracle/oradata/xifenfei/bbed01.dbf (11)

Block: 1 Dba:0x02c00001

Data File Header

struct kcvfh, 360 bytes @0

ub4 tailchk @8188
修改数据块内容
BBED> p kcvfh
struct kcvfh, 360 bytes @0
struct kcvfhbfh, 20 bytes @0
ub1 type_kcbh @0 0x0b
ub1 frmt_kcbh @1 0x02
ub1 spare1_kcbh @2 0x00
ub1 spare2_kcbh @3 0x00
ub4 rdba_kcbh @4 0x03000001
ub4 bas_kcbh @8 0x00000000
ub2 wrp_kcbh @12 0x0000
ub1 seq_kcbh @14 0x01
ub1 flg_kcbh @15 0x04 (KCBHFCKV)
ub2 chkval_kcbh @16 0xb10a
ub2 spare3_kcbh @18 0x0000
struct kcvfhhdr, 76 bytes @20
ub4 kccfhswv @20 0x09200000
ub4 kccfhcvn @24 0x08000000
ub4 kccfhdbi @28 0x5314b4cd
text kccfhdbn[0] @32 X
text kccfhdbn[1] @33 I
text kccfhdbn[2] @34 F
text kccfhdbn[3] @35 E
text kccfhdbn[4] @36 N
text kccfhdbn[5] @37 F
text kccfhdbn[6] @38 E
text kccfhdbn[7] @39 I
ub4 kccfhcsq @40 0x000001d8
ub4 kccfhfsz @44 0x00001400
s_blkz kccfhbsz @48 0x00
ub2 kccfhfno @52 0x000c
ub2 kccfhtyp @54 0x0003
ub4 kccfhacid @56 0x00000000
ub4 kccfhcks @60 0x00000000
text kccfhtag[0] @64
text kccfhtag[1] @65
text kccfhtag[2] @66
text kccfhtag[3] @67
text kccfhtag[4] @68
text kccfhtag[5] @69
text kccfhtag[6] @70
text kccfhtag[7] @71
text kccfhtag[8] @72
text kccfhtag[9] @73
text kccfhtag[10] @74
text kccfhtag[11] @75
text kccfhtag[12] @76
text kccfhtag[13] @77
text kccfhtag[14] @78
text kccfhtag[15] @79
text kccfhtag[16] @80
text kccfhtag[17] @81
text kccfhtag[18] @82
text kccfhtag[19] @83
text kccfhtag[20] @84
text kccfhtag[21] @85
text kccfhtag[22] @86
text kccfhtag[23] @87
text kccfhtag[24] @88
text kccfhtag[25] @89
text kccfhtag[26] @90
text kccfhtag[27] @91
text kccfhtag[28] @92
text kccfhtag[29] @93
text kccfhtag[30] @94
text kccfhtag[31] @95
ub4 kcvfhrdb @96 0x00000000
struct kcvfhcrs, 8 bytes @100
ub4 kscnbas @100 0xc00a3405
ub2 kscnwrp @104 0x0b2c
ub4 kcvfhcrt @108 0x2ebeb8c3
ub4 kcvfhrlc @112 0x2e51408f
struct kcvfhrls, 8 bytes @116
ub4 kscnbas @116 0x0002ab78
ub2 kscnwrp @120 0x0000
ub4 kcvfhbti @124 0x00000000
struct kcvfhbsc, 8 bytes @128
ub4 kscnbas @128 0x00000000
ub2 kscnwrp @132 0x0000
ub2 kcvfhbth @136 0x0000
ub2 kcvfhsta @138 0x0000 (NONE)
struct kcvfhckp, 36 bytes @140
struct kcvcpscn, 8 bytes @140
ub4 kscnbas @140 0xc00b6467
ub2 kscnwrp @144 0x0b2c
ub4 kcvcptim @148 0x2ebf0c07
ub2 kcvcpthr @152 0x0001
union u, 12 bytes @156
struct kcvcprba, 12 bytes @156
ub4 kcrbaseq @156 0x00000015
ub4 kcrbabno @160 0x0000429a
ub2 kcrbabof @164 0x0010
struct kcvcptr, 12 bytes @156
struct kcrtrscn, 8 bytes @156
ub4 kscnbas @156 0x00000015
ub2 kscnwrp @160 0x429a
ub4 kcrtrtim @164 0x09110010
ub1 kcvcpetb[0] @168 0x02
ub1 kcvcpetb[1] @169 0x00
ub1 kcvcpetb[2] @170 0x00
ub1 kcvcpetb[3] @171 0x00
ub1 kcvcpetb[4] @172 0x00
ub1 kcvcpetb[5] @173 0x00
ub1 kcvcpetb[6] @174 0x00
ub1 kcvcpetb[7] @175 0x00
ub4 kcvfhcpc @176 0x0000000d
ub4 kcvfhrts @180 0x2ebeea4f
ub4 kcvfhccc @184 0x0000000c
struct kcvfhbcp, 36 bytes @188
struct kcvcpscn, 8 bytes @188
ub4 kscnbas @188 0x00000000
ub2 kscnwrp @192 0x0000
ub4 kcvcptim @196 0x00000000
ub2 kcvcpthr @200 0x0000
union u, 12 bytes @204
struct kcvcprba, 12 bytes @204
ub4 kcrbaseq @204 0x00000000
ub4 kcrbabno @208 0x00000000
ub2 kcrbabof @212 0x0000
struct kcvcptr, 12 bytes @204
struct kcrtrscn, 8 bytes @204
ub4 kscnbas @204 0x00000000
ub2 kscnwrp @208 0x0000
ub4 kcrtrtim @212 0x00000000
ub1 kcvcpetb[0] @216 0x00
ub1 kcvcpetb[1] @217 0x00
ub1 kcvcpetb[2] @218 0x00
ub1 kcvcpetb[3] @219 0x00
ub1 kcvcpetb[4] @220 0x00
ub1 kcvcpetb[5] @221 0x00
ub1 kcvcpetb[6] @222 0x00
ub1 kcvcpetb[7] @223 0x00
ub4 kcvfhbhz @224 0x00000000
struct kcvfhxcd, 16 bytes @228
ub4 space_kcvmxcd[0] @228 0x00000000
ub4 space_kcvmxcd[1] @232 0x00000000
ub4 space_kcvmxcd[2] @236 0x00000000
ub4 space_kcvmxcd[3] @240 0x00000000
word kcvfhtsn @244 12
ub2 kcvfhtln @248 0x0004
text kcvfhtnm[0] @250 B
text kcvfhtnm[1] @251 B
text kcvfhtnm[2] @252 E
text kcvfhtnm[3] @253 D
text kcvfhtnm[4] @254
text kcvfhtnm[5] @255
text kcvfhtnm[6] @256
text kcvfhtnm[7] @257
text kcvfhtnm[8] @258
text kcvfhtnm[9] @259
text kcvfhtnm[10] @260
text kcvfhtnm[11] @261
text kcvfhtnm[12] @262
text kcvfhtnm[13] @263
text kcvfhtnm[14] @264
text kcvfhtnm[15] @265
text kcvfhtnm[16] @266
text kcvfhtnm[17] @267
text kcvfhtnm[18] @268
text kcvfhtnm[19] @269
text kcvfhtnm[20] @270
text kcvfhtnm[21] @271
text kcvfhtnm[22] @272
text kcvfhtnm[23] @273
text kcvfhtnm[24] @274
text kcvfhtnm[25] @275
text kcvfhtnm[26] @276
text kcvfhtnm[27] @277
text kcvfhtnm[28] @278
text kcvfhtnm[29] @279
ub4 kcvfhrfn @280 0x0000000c
struct kcvfhrfs, 8 bytes @284
ub4 kscnbas @284 0x00000000
ub2 kscnwrp @288 0x0000
ub4 kcvfhrft @292 0x2ebee9f9
struct kcvfhafs, 8 bytes @296
ub4 kscnbas @296 0x00000000
ub2 kscnwrp @300 0x0000
ub4 kcvfhbbc @304 0x00000000
ub4 kcvfhncb @308 0x00000000
ub4 kcvfhmcb @312 0x00000000
ub4 kcvfhlcb @316 0x00000000
ub4 kcvfhbcs @320 0x00000000
ub2 kcvfhofb @324 0x0000
ub2 kcvfhnfb @326 0x0000
ub4 kcvfhprc @328 0x00000000
struct kcvfhprs, 8 bytes @332
ub4 kscnbas @332 0x00000000
ub2 kscnwrp @336 0x0000
struct kcvfhprfs, 8 bytes @340
ub4 kscnbas @340 0x00000000
ub2 kscnwrp @344 0x0000
ub4 kcvfhtrt @356 0x00000000

/*需要修改内容
ub4 rdba_kcbh @4 0x03000001
ub4 kccfhfsz @44 0x00001400
ub2 kccfhfno @52 0x000c
struct kcvfhcrs, 8 bytes @100
ub4 kscnbas @100 0xc00a3405
ub2 kscnwrp @104 0x0b2c
ub4 kcvfhrfn @280 0x0000000c
/
/*修改值(通过错误提示结合file$表)
rdba_kcbh 02c00001
kccfhfsz 00000500
kccfhfno 000b
kscnbas c00a32b8
kcvfhrfn 0000000b
/

BBED> set offset 4
OFFSET 4

BBED> m /x 0100c002
File: /u01/oracle/oradata/xifenfei/bbed01.dbf (11)

Block: 1 Offsets: 4 to 19 Dba:0x02c00001

0100c002 00000000 00000104 0ab10000

<32 bytes per line>

BBED> set offset 44
OFFSET 44

BBED> m /x 00050000
File: /u01/oracle/oradata/xifenfei/bbed01.dbf (11)

Block: 1 Offsets: 44 to 59 Dba:0x02c00001

00050000 00200000 0c000300 00000000

<32 bytes per line>

BBED> set offset 52
OFFSET 52

BBED> m /x
BBED-00203: incomplete/malformed command

BBED> m /x 0b00
File: /u01/oracle/oradata/xifenfei/bbed01.dbf (11)

Block: 1 Offsets: 52 to 67 Dba:0x02c00001

0b000300 00000000 00000000 00000000

<32 bytes per line>

BBED> set offset 100
OFFSET 100

BBED> m /x b8320ac0
File: /u01/oracle/oradata/xifenfei/bbed01.dbf (11)

Block: 1 Offsets: 100 to 115 Dba:0x02c00001

b8320ac0 2c0b0000 c3b8be2e 8f40512e

<32 bytes per line>

BBED> set offset 280
OFFSET 280

BBED> m /x 0b000000
File: /u01/oracle/oradata/xifenfei/bbed01.dbf (11)

Block: 1 Offsets: 280 to 295 Dba:0x02c00001

0b000000 00000000 00000000 f9e9be2e

<32 bytes per line>

BBED> sum apply
Check value for File 11, Block 1:
current = 0xa777, required = 0xa777
重建控制文件open数据库
SQL> alter database backup controlfile to trace as ‘/tmp/t_xifenfie.ctl’;

Database altered.

SQL> shutdown immediate;
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.

SQL> startup nomount
ORACLE instance started.

Total System Global Area 353441008 bytes
Fixed Size 451824 bytes
Variable Size 184549376 bytes
Database Buffers 167772160 bytes
Redo Buffers 667648 bytes

SQL> CREATE CONTROLFILE REUSE DATABASE “XIFENFEI” NORESETLOGS ARCHIVELOG
2 MAXLOGFILES 50
3 MAXLOGMEMBERS 5
4 MAXDATAFILES 100
5 MAXINSTANCES 1
6 MAXLOGHISTORY 226
7 LOGFILE
8 GROUP 1 ‘/u01/oracle/oradata/xifenfei/redo01.log’ SIZE 100M,
9 GROUP 2 ‘/u01/oracle/oradata/xifenfei/redo02.log’ SIZE 100M,
10 GROUP 3 ‘/u01/oracle/oradata/xifenfei/redo03.log’ SIZE 100M
11 DATAFILE
12 ‘/u01/oracle/oradata/xifenfei/system01.dbf’,
13 ‘/u01/oracle/oradata/xifenfei/undotbs01.dbf’,
14 ‘/u01/oracle/oradata/xifenfei/cwmlite01.dbf’,
15 ‘/u01/oracle/oradata/xifenfei/drsys01.dbf’,
16 ‘/u01/oracle/oradata/xifenfei/example01.dbf’,
17 ‘/u01/oracle/oradata/xifenfei/indx01.dbf’,
18 ‘/u01/oracle/oradata/xifenfei/odm01.dbf’,
19 ‘/u01/oracle/oradata/xifenfei/tools01.dbf’,
20 ‘/u01/oracle/oradata/xifenfei/users01.dbf’,
21 ‘/u01/oracle/oradata/xifenfei/xdb01.dbf’,
22 ‘/u01/oracle/oradata/xifenfei/bbed01.dbf’,
23 ‘/u01/oracle/oradata/xifenfei/bbed02.dbf’
24 CHARACTER SET ZHS16GBK
25 ;

Control file created.

SQL> recover database ;
ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required

SQL> alter database open;

Database altered.

你可能感兴趣的:(BBED)