修复文件头只需改这几个位置:
SQL> select to_number('00044509','xxxxxxxxx') from dual;--p kcvfhckp.kcvcpscn.kscnbas --一般归档日志丢失修复文件头scn
279817
SQL> select to_char('279817','xxxxxxxx') from dual;
44509
SQL> select to_char('190578','xxxxxxxx') from dual;
2e872
SQL> select to_number('3f2bb1c5','xxxxxxxxx') from dual;--p kcvfh.kcvfhrlc
1059828165
SQL> select to_number('2e872','xxxxxxxxx') from dual;--p kcvfh.kcvfhrls.kscnbas
190578
C:\Documents and Settings\Administrator>set ORACLE_SID=JYC
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期四 1月 7 12:00:30 2021
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn /as sysdba
已连接。
SQL> set pagesize 0
SQL> select file#||' '||name||' '||bytes from v$datafile;
1 C:\ORACLE\ORADATA\JYC\SYSTEM01.DBF 419430400
2 C:\ORACLE\ORADATA\JYC\UNDOTBS01.DBF 209715200
3 C:\ORACLE\ORADATA\JYC\CWMLITE01.DBF 20971520
4 C:\ORACLE\ORADATA\JYC\DRSYS01.DBF 20971520
5 C:\ORACLE\ORADATA\JYC\EXAMPLE01.DBF 156631040
6 C:\ORACLE\ORADATA\JYC\INDX01.DBF 26214400
7 C:\ORACLE\ORADATA\JYC\ODM01.DBF 20971520
8 C:\ORACLE\ORADATA\JYC\TOOLS01.DBF 10485760
9 C:\ORACLE\ORADATA\JYC\USERS01.DBF 26214400
10 C:\ORACLE\ORADATA\JYC\XDB01.DBF 39976960
11 C:\ORACLE\ORADATA\JYC\USERS02.DBF 5242880
12 C:\ORACLE\ORADATA\JYC\USERS03.DBF 1048576
已选择12行。
从Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production中断开
C:\Documents and Settings\Administrator>bbed
口令:
BBED: Release 2.0.0.0.0 - Limited Production on 星期四 1月 7 11:20:26 2021
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED> info all
File# Name Size(blks)
----- ---- ----------
BBED> exit
C:\Documents and Settings\Administrator>bbed
口令:
BBED: Release 2.0.0.0.0 - Limited Production on 星期四 1月 7 11:58:54 2021
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED> info all
File# Name Size(blks)
----- ---- ----------
BBED> exit
C:\Documents and Settings\Administrator>cd c:\oracle
C:\oracle>bbed parfile=par.txt
口令:
BBED-00113: Invalid password. Please rerun utility with the correct password.
C:\oracle>bbed parfile=par.txt
BBED: Release 2.0.0.0.0 - Limited Production on 星期四 1月 7 12:02:43 2021
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED> info all
File# Name Size(blks)
----- ---- ----------
1 C:\ORACLE\ORADATA\JYC\SYSTEM01.DBF 51200
2 C:\ORACLE\ORADATA\JYC\UNDOTBS01.DBF 25600
3 C:\ORACLE\ORADATA\JYC\CWMLITE01.DBF 2560
4 C:\ORACLE\ORADATA\JYC\DRSYS01.DBF 2560
5 C:\ORACLE\ORADATA\JYC\EXAMPLE01.DBF 19120
6 C:\ORACLE\ORADATA\JYC\INDX01.DBF 3200
7 C:\ORACLE\ORADATA\JYC\ODM01.DBF 2560
8 C:\ORACLE\ORADATA\JYC\TOOLS01.DBF 1280
9 C:\ORACLE\ORADATA\JYC\USERS01.DBF 3200
10 C:\ORACLE\ORADATA\JYC\XDB01.DBF 4880
11 C:\ORACLE\ORADATA\JYC\USERS02.DBF 640
12 C:\ORACLE\ORADATA\JYC\USERS03.DBF 128
BBED> set dba 1,1
DBA 0x00400001 (4194305 1,1)
BBED> map
File: C:\ORACLE\ORADATA\JYC\SYSTEM01.DBF (1)
Block: 1 Dba:0x00400001
------------------------------------------------------------
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 0x00400001
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 0xc26a
ub2 spare3_kcbh @18 0x0000
struct kcvfhhdr, 76 bytes @20
ub4 kccfhswv @20 0x09200000
ub4 kccfhcvn @24 0x08000000
ub4 kccfhdbi @28 0x02391c85
text kccfhdbn[0] @32 J
text kccfhdbn[1] @33 Y
text kccfhdbn[2] @34 C
text kccfhdbn[3] @35
text kccfhdbn[4] @36
text kccfhdbn[5] @37
text kccfhdbn[6] @38
text kccfhdbn[7] @39
ub4 kccfhcsq @40 0x00000124
ub4 kccfhfsz @44 0x0000c800
s_blkz kccfhbsz @48 0x00
ub2 kccfhfno @52 0x0001
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 0x004001a1
struct kcvfhcrs, 8 bytes @100
ub4 kscnbas @100 0x0000000b
ub2 kscnwrp @104 0x0000
ub4 kcvfhcrt @108 0x1b84e3b6
ub4 kcvfhrlc @112 0x3f2bb1c5
struct kcvfhrls, 8 bytes @116
ub4 kscnbas @116 0x0002e872
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 0x00044509
ub2 kscnwrp @144 0x0000
ub4 kcvcptim @148 0x3f40a1cb
ub2 kcvcpthr @152 0x0001
union u, 12 bytes @156
struct kcvcprba, 12 bytes @156
ub4 kcrbaseq @156 0x00000005
ub4 kcrbabno @160 0x00000188
ub2 kcrbabof @164 0x0010
struct kcvcptr, 12 bytes @156
struct kcrtrscn, 8 bytes @156
ub4 kscnbas @156 0x00000005
ub2 kscnwrp @160 0x0188
ub4 kcrtrtim @164 0x03b50010
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 0x00000022
ub4 kcvfhrts @180 0x3f40a184
ub4 kcvfhccc @184 0x00000021
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 0
ub2 kcvfhtln @248 0x0006
text kcvfhtnm[0] @250 S
text kcvfhtnm[1] @251 Y
text kcvfhtnm[2] @252 S
text kcvfhtnm[3] @253 T
text kcvfhtnm[4] @254 E
text kcvfhtnm[5] @255 M
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 0x00000001
struct kcvfhrfs, 8 bytes @284
ub4 kscnbas @284 0x00000000
ub2 kscnwrp @288 0x0000
ub4 kcvfhrft @292 0x00000000
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 0x000a
ub2 kcvfhnfb @326 0x000a
ub4 kcvfhprc @328 0x1b84e378
struct kcvfhprs, 8 bytes @332
ub4 kscnbas @332 0x00000001
ub2 kscnwrp @336 0x0000
struct kcvfhprfs, 8 bytes @340
ub4 kscnbas @340 0x00000000
ub2 kscnwrp @344 0x0000
ub4 kcvfhtrt @356 0x00000000
BBED>
BBED> set offset 112
OFFSET 112
BBED> d /v count 32
File: C:\ORACLE\ORADATA\JYC\SYSTEM01.DBF (1)
Block: 1 Offsets: 112 to 143 Dba:0x00400001
-------------------------------------------------------
c5b12b3f 72e80200 00000000 00000000 l ..+?r...........
00000000 00000000 00000000 09450400 l .............E..
<16 bytes per line>
BBED> p kcvfh.kcvfhrlc
ub4 kcvfhrlc @112 0x3f2bb1c5
BBED> p kcvfh.kcvfhrls.kscnbas
ub4 kscnbas @116 0x0002e872
BBED> p kcvfh.kcvfhsta
ub2 kcvfhsta @138 0x0000 (NONE)
BBED> p kcvfhckp
struct kcvfhckp, 36 bytes @140
struct kcvcpscn, 8 bytes @140
ub4 kscnbas @140 0x00044509
ub2 kscnwrp @144 0x0000
ub4 kcvcptim @148 0x3f40a1cb
ub2 kcvcpthr @152 0x0001
union u, 12 bytes @156
struct kcvcprba, 12 bytes @156
ub4 kcrbaseq @156 0x00000005
ub4 kcrbabno @160 0x00000188
ub2 kcrbabof @164 0x0010
struct kcvcptr, 12 bytes @156
struct kcrtrscn, 8 bytes @156
ub4 kscnbas @156 0x00000005
ub2 kscnwrp @160 0x0188
ub4 kcrtrtim @164 0x03b50010
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
BBED> p kcvfhckp.kcvcpscn.kscnbas
ub4 kscnbas @140 0x00044509
BBED> d /v offset 140 count 16
File: C:\ORACLE\ORADATA\JYC\USERS01.DBF (9)
Block: 1 Offsets: 140 to 155 Dba:0x02400001
-------------------------------------------------------
09450400 00000000 cba1403f 01000000 l .E........@?....
<16 bytes per line>
SQL> select to_char('37297285','xxxxxxxx') from dual;
2391c85
SQL> select to_number('2391c85','xxxxxxxxx') from dual;--dbid
37297285
SQL> select to_number('00044509','xxxxxxxxx') from dual;--p kcvfhckp.kcvcpscn.kscnbas --文档丢失修复文件头scn
279817
SQL> select to_char('279817','xxxxxxxx') from dual;
44509
SQL> select to_char('190578','xxxxxxxx') from dual;
2e872
SQL> select to_number('3f2bb1c5','xxxxxxxxx') from dual;--p kcvfh.kcvfhrlc
1059828165
SQL> select to_number('2e872','xxxxxxxxx') from dual;--p kcvfh.kcvfhrls.kscnbas
190578
工具脚本可参考:
https://www.xifenfei.com/2021/01/oracle-recovery-tools-ora-01190-ora-01248.html
其它相关:
https://blog.csdn.net/tianlesoftware/article/details/6919280
https://sqlora.blog.csdn.net/article/details/110919053