标签云
asm恢复 bbed bootstrap$ dul kcbzib_kcrsds_1 kccpb_sanity_check_2 kcratr_nab_less_than_odr MySQL恢复 obet ORA-00312 ORA-00704 ORA-00742 ORA-01110 ORA-01200 ORA-01555 ORA-01578 ORA-01595 ORA-600 2662 ORA-600 2663 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-600 kcratr_nab_less_than_odr ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 ORACLE恢复 Oracle 恢复 ORACLE数据库恢复 oracle碎片 OSD-04016 YOUR FILES ARE ENCRYPTED 比特币加密文章分类
- MongoDB (1)
- MongoDB恢复 (1)
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (112)
- 数据库 (1,881)
- DB2 (22)
- MySQL (82)
- Oracle (1,706)
- Data Guard (53)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (168)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (72)
- Oracle Bug (8)
- Oracle RAC (56)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (29)
- Oracle备份恢复 (660)
- Oracle安装升级 (108)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (91)
- PostgreSQL (37)
- pdu工具 (7)
- PostgreSQL恢复 (13)
- SQL Server (34)
- SQL Server恢复 (14)
- TimesTen (7)
- 达梦数据库 (5)
- 达梦恢复 (3)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (51)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (34)
- MongoDB (1)
-
最近发表
- 记录一次云存储资源到期之后引起的数据库恢复
- Firebird 损坏数据库数据抢救工具—firebirdext
- Oracle 19c 202610补丁(RUs+OJVM)-19.33
- 由于con$.con#值达到极限,触发数据库增加约束报ORA-600 12807错误
- MongoDB 离线提取工具—mongoext
- .bres勒索病毒加密数据库dmp文件可恢复
- ORA-600 krsm_mrp_rebuild_lf_list.lno_mismatch
- 记录一次0丢失的ORA-00354: 损坏重做日志块标头故障恢复
- 不当数据库恢复操作导致一个月数据丢失
- obet快速修复oracle 位图损坏块
- 不太常见的10.2.0.1的oracle redo损坏恢复
- obet forcecopy功能抢救硬件故障中的数据文件
- kcratr_nab_less_than_odr和system坏块故障处理
- 通过obet 恢复system坏块,打开数据库
- obet dbv功能完整说明
- 分享一例运行在aix上的sap系统数据库恢复过程
- OBET-Oracle Block Editor Tool使用说明
- 几乎动用了所有手段的Oracle故障恢复
- Oracle Block Edit Tool (obet) 功能增强–2026.07
- Oracle 19c 202607补丁(RUs+OJVM)-19.32
分类目录归档:Oracle备份恢复
使用bbed解决ORA-00607/ORA-00600[4194]故障
ORA-00607/ORA-00600[4194]错误
数据库启动因为出现ORA-00607/ORA-00600[4194],导致数据库不能正常open
Fri Nov 4 23:10:37 2011 SMON: enabling cache recovery Fri Nov 4 23:10:37 2011 ARC2: Archival started ARC0: STARTING ARCH PROCESSES COMPLETE ARC0: Becoming the heartbeat ARCH ARC2 started with pid=18, OS id=21535 Fri Nov 4 23:10:38 2011 Errors in file /u01/oracle/admin/XFF/udump/xff_ora_21529.trc: ORA-00600: internal error code, arguments: [4194], [35], [6], [], [], [], [], [] Fri Nov 4 23:10:41 2011 Doing block recovery for file 1 block 18 Block recovery from logseq 2, block 48668 to scn 458453 Fri Nov 4 23:10:41 2011 Recovery of Online Redo Log: Thread 1 Group 1 Seq 2 Reading mem 0 Mem# 0 errs 0: /u01/oracle/oradata/XFF/redo01.log Block recovery stopped at EOT rba 2.48670.16 Block recovery completed at rba 2.48670.16, scn 0.458451 Doing block recovery for file 1 block 9 Block recovery from logseq 2, block 48668 to scn 458450 Fri Nov 4 23:10:41 2011 Recovery of Online Redo Log: Thread 1 Group 1 Seq 2 Reading mem 0 Mem# 0 errs 0: /u01/oracle/oradata/XFF/redo01.log Block recovery completed at rba 2.48670.16, scn 0.458451 Fri Nov 4 23:10:41 2011 Errors in file /u01/oracle/admin/XFF/udump/xff_ora_21529.trc: ORA-00604: error occurred at recursive SQL level 1 ORA-00607: Internal error occurred while making a change to a data block ORA-00600: internal error code, arguments: [4194], [35], [6], [], [], [], [], [] Error 604 happened during db open, shutting down database USER: terminating instance due to error 604 Instance terminated by USER, pid = 21529 ORA-1092 signalled during: ALTER DATABASE OPEN...
分析trace文件
*** SESSION ID:(159.3) 2011-11-04 23:10:37.648
tkcrrsarc: (WARN) Failed to find ARCH for message (message:0x1)
tkcrrpa: (WARN) Failed initial attempt to send ARCH message (message:0x1)
*** ktuc_diag_dmp: dump of current change vector
ktudb redo: siz: 252 spc: 7200 flg: 0x0012 seq: 0x0037 rec: 0x06
xid: 0x0000.022.00000028
ktubl redo: slt: 34 rci: 0 opc: 11.1 objn: 15 objd: 15 tsn: 0
Undo type: Regular undo Begin trans Last buffer split: No
Temp Object: No
Tablespace Undo: No
0x00000000 prev ctl uba: 0x00400012.0037.1f
prev ctl max cmt scn: 0x0000.0006c75b prev tx cmt scn: 0x0000.0006c75d
txn start scn: 0xffff.ffffffff logon user: 0 prev brb: 4194318 prev bcl: 0 KDO undo record:
KTB Redo
op: 0x04 ver: 0x01
op: L itl: xid: 0x0000.020.00000029 uba: 0x00400013.0037.05
flg: C--- lkc: 0 scn: 0x0000.0006fecb
KDO Op code: URP row dependencies Disabled
xtype: XA flags: 0x00000000 bdba: 0x0040006a hdba: 0x00400069
itli: 1 ispac: 0 maxfr: 4863
tabn: 0 slot: 1(0x1) flag: 0x2c lock: 0 ckix: 191
ncol: 17 nnew: 12 size: 0
col 1: [ 9] 5f 53 59 53 53 4d 55 31 24
col 2: [ 2] c1 02
col 3: [ 2] c1 03
col 4: [ 2] c1 0a
col 5: [ 4] c3 2e 55 0a
col 6: [ 1] 80
col 7: [ 3] c2 02 59
col 8: [ 3] c2 02 02
col 9: [ 1] 80
col 10: [ 2] c1 03
col 11: [ 2] c1 02
col 16: [ 2] c1 02
*** 2011-11-04 23:10:38.086
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [4194], [35], [6], [], [], [], [], []
Current SQL statement for this session:
update undo$ set name=:2,file#=:3,block#=:4,status$=:5,user#=:6,undosqn=:7,xactsqn=:8,scnbas=:9,
scnwrp=:10,inst#=:11,ts#=:12,spare1=:13 where us#=:1
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedst()+27 call ksedst1() 0 ? 1 ?
ksedmp()+557 call ksedst() 0 ? 0 ? 0 ? 0 ? 0 ? 0 ?
ksfdmp()+19 call ksedmp() 3 ? BFFA8C28 ? AC152C0 ?
CBD2DA0 ? 3 ? BFFA9764 ?
kgeriv()+188 call 00000000 CBD2DA0 ? 3 ?
kseipre()+42 call kgeriv() CBD2DA0 ? B6A50020 ? 1062 ?
2 ? BFFA8C68 ? BFFA8C5C ?
ksesic2()+21 call kseipre() 1062 ? 2 ? BFFA8C68 ?
32B36940 ? BFFA8D38 ?
8C4A3A9 ?
kturdb()+1757 call ksesic2() 1062 ? 0 ? 23 ? 0 ? 0 ? 6 ?
0 ?
kco_issue_callback( call 00000000 B6A09FA4 ? B6A0A01E ? 11 ?
)+176 2D306014 ? B6A387C0 ?
kcoapl()+2440 call kco_issue_callback( B6A09FA0 ? 2D306000 ?
) B6A387C0 ?
kcbapl()+322 call kcoapl() B6A09FA0 ? 2D306000 ? 1 ? 0 ?
2000 ? 0 ? B6A387C0 ?
kcrfw_redo_gen()+94 call kcbapl() B6A09FA0 ? 2D3F6A1C ?
10 CBE3AE8 ? 0 ? B6A387C0 ?
kcbchg1_main()+8669 call kcrfw_redo_gen() 3 ? BFFA9358 ? BFFA9370 ?
CBE3AE8 ? 0 ? BFFA9390 ?
kcbchg1()+63 call kcbchg1_main() 0 ? 3 ? BFFA97B0 ? BFFA9798 ?
0 ? 0 ?
ktuchg()+3344 call kcbchg1() 0 ? 3 ? BFFA97B0 ? BFFA9798 ?
0 ? 0 ?
ktbchg2()+493 call ktuchg() 2 ? 2F9EEF8C ? 3 ? B6A0CA98 ?
B6A0CAA0 ? B6A09FA0 ?
B6A387C0 ? B6A0C7A0 ? 0 ? 0 ?
kddchg()+1661 call ktbchg2() 0 ? 2F9EEF8C ? B6A0CA98 ?
B6A0CAA0 ? B6A09FA0 ?
B6A387B8 ? B6A0C7A0 ? 0 ? 0 ?
kduovw()+7960 call kddchg() B6A3877C ? B6A0CA98 ?
B6A0CAA0 ? B6A09FA0 ?
B6A0C7A0 ? 0 ? 0 ? BFFA9C58 ?
kduurp()+2316 call kduovw() B6A3877C ? 0 ? 10 ?
B6A357A4 ? 0 ? B6A3877C ?
kdusru()+4339 call kduurp() B6A3877C ? 958412D ?
CBDC720 ? BFFA9FEC ? B8 ?
B6A40380 ?
kauupd()+366 call kdusru() B6A357A4 ? 2F9EEFF8 ?
B6A3877C ? 0 ?
updrow()+5889 call kauupd() B6A357A0 ? 2F9EEFF8 ?
B6A3877C ? 0 ? 2FA479FC ? E ?
F ? 2F9EF31C ? 12 ?
BFFB0544 ? BFFB04E4 ?
qerupRowProcedure() call updrow() 2F9E5B64 ? 7FFF ? DB4 ? 48 ?
+62 2F9EFBF4 ? BFFB08B4 ?
qerupFetch()+1187 call 00000000 2F9EF4B0 ? 7FFF ?
updaul()+3474 call 00000000 2F9EF4B0 ? 0 ? 2F9EF370 ?
7FFF ?
updThreePhaseExe()+ call updaul() 2F9E5B64 ? BFFB0D2C ? 0 ?
3470
updexe()+813 call updThreePhaseExe() 2F9E5B64 ? 0 ? B6A3877C ?
BFFB0E00 ? 2F9E5B64 ? 1 ?
BFFB0E00 ? 0 ?
opiexe()+17967 call updexe() 2F9E5B64 ? BFFB1074 ?
opiodr()+2347 call 00000000 4 ? 4 ? BFFB25A8 ?
rpidrus()+434 call opiodr() 4 ? 4 ? BFFB25A8 ? 2 ?
skgmstack()+210 call 00000000 BFFB2004 ? 97492FE ?
CBD2E9C ? BFFB1FE8 ?
BFFB24EC ? BFFB2004 ?
rpidru()+98 call skgmstack() BFFB1FE8 ? CBD2B60 ? F618 ?
9749546 ? BFFB2004 ?
rpiswu2()+1061 call 00000000 BFFB24EC ? BFFB25E8 ?
BFFB2500 ? 2 ? BFFB24B0 ?
5953 ?
rpidrv()+1915 call rpiswu2() 32F0A1D4 ? 0 ? BFFB24B0 ? 2 ?
BFFB2528 ? 0 ? BFFB24B0 ? 0 ?
9749800 ? 97498DC ?
BFFB24EC ? 8 ?
rpiexe()+65 call rpidrv() 2 ? 4 ? BFFB25A8 ? 8 ?
ktuscu()+697 call rpiexe() 2 ? 1C ? 2A ? 32FF3404 ? 0 ?
BFFB2710 ?
kqrcmt()+945 call 00000000 32AFA70C ? 3 ?
ktcrcm()+945 call kqrcmt() 31A2B84C ? 1 ? 0 ?
ktuswr()+1855 call ktcrcm() 31A2B84C ? 0 ? 0 ? 0 ? 0 ?
1 ? 0 ? 0 ?
ktusmous_online_und call ktuswr() 1 ? 0 ? 0 ? 0 ? 0 ? 0 ?
oseg()+951
ktusmout_online_ut( call ktusmous_online_und 1 ? A ? 0 ? 3 ?
)+737 oseg()
ktusmiut_init_ut()+ call ktusmout_online_ut( 1 ? 0 ? 0 ?
1084 )
ktuini()+688 call ktusmiut_init_ut() 0 ? BFFB4744 ? CBD2E9C ?
CBD2E9C ? CBD2DA0 ? 7 ?
adbdrv()+5699 call ktuini() 0 ? 0 ? 0 ? 0 ? 64000000 ?
3 ?
opiexe()+18301 call adbdrv() 59D4 ? 0 ? 9EE16E2F ? 494C4 ?
32B33CD0 ? 0 ?
opiosq0()+3918 call opiexe() 4 ? 0 ? BFFB8988 ?
kpooprx()+250 call opiosq0() 3 ? E ? BFFB8B90 ? A4 ?
kpoal8()+867 call kpooprx() BFFBAD68 ? BFFB990C ? 13 ?
1 ? 0 ? A4 ?
opiodr()+2347 call 00000000 5E ? 17 ? BFFBAD64 ?
ttcpip()+4227 call 00000000 5E ? 17 ? BFFBAD64 ? 0 ?
DABCA66 ? 93 ?
opitsk()+1991 call ttcpip() CBDA5A0 ? 5E ? BFFBAD64 ? 0 ?
BFFBA244 ? BFFBAE88 ?
opiino()+1387 call opitsk() 0 ? 0 ?
opiodr()+2347 call 00000000 3C ? 4 ? BFFBB950 ?
opidrv()+915 call opiodr() 3C ? 4 ? BFFBB950 ? 0 ?
sou2o()+113 call opidrv() 3C ? 4 ? BFFBB950 ?
opimai_real()+212 call sou2o() BFFBB934 ? 3C ? 4 ?
BFFBB950 ?
main()+111 call opimai_real() 2 ? BFFBB980 ?
__libc_start_main() call 00000000 2 ? BFFBBA44 ? BFFBBA50 ?
+220 47D9A828 ? 0 ? 1 ?
--------------------- Binary Stack Dump ---------------------
数据库在open的时候,需要去修改undo$对象的状态,从2该为3(offline->online)这个时候需要使用到系统回滚段,但是在使用系统回滚段的时候,使用uba=0×00400012的时候发生异常,导致数据库不能正常open,从而出现了ORA-00600[4194]的错误.而出现这个故障的原因,很可能是由于file 1 block 18块的异常导致.我们需要做的,就是让数据库启动的时候不使用file 1 block 18的block,而让数据库去另外的分配一个undo块.
bbed清除rollback分配块信息
[oracle@xifenfei ~]$ bbed listfile=list mode=edit password=blockedit
BBED: Release 2.0.0.0.0 - Limited Production on Sat Nov 5 01:11:49 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED> set file 1 block 9
FILE# 1
BLOCK# 9
BBED> map
File: /u01/oracle/oradata/XFF/system01.dbf (1)
Block: 9 Dba:0x00400009
------------------------------------------------------------
Unlimited Undo Segment Header
struct kcbh, 20 bytes @0
struct ktech, 72 bytes @20
struct ktemh, 16 bytes @92
struct ktetb[6], 48 bytes @108
struct ktuxc, 104 bytes @4148
struct ktuxe[255], 10200 bytes @4252
ub4 tailchk @8188
BBED> p ktuxc
struct ktuxc, 104 bytes @4148
struct ktuxcscn, 8 bytes @4148
ub4 kscnbas @4148 0x0006c75b
ub2 kscnwrp @4152 0x0000
struct ktuxcuba, 8 bytes @4156
ub4 kubadba @4156 0x00400012
ub2 kubaseq @4160 0x0037
ub1 kubarec @4162 0x1f
sb2 ktuxcflg @4164 1 (KTUXCFSK)
ub2 ktuxcseq @4166 0x0037
sb2 ktuxcnfb @4168 1
ub4 ktuxcinc @4172 0x00000000
sb2 ktuxcchd @4176 34
sb2 ktuxcctl @4178 32
ub2 ktuxcmgc @4180 0x8002
ub4 ktuxcopt @4188 0x7ffffffe
struct ktuxcfbp[0], 12 bytes @4192
struct ktufbuba, 8 bytes @4192
ub4 kubadba @4192 0x00400012
ub2 kubaseq @4196 0x0037
ub1 kubarec @4198 0x05
sb2 ktufbext @4200 1
sb2 ktufbspc @4202 7200
struct ktuxcfbp[1], 12 bytes @4204
struct ktufbuba, 8 bytes @4204
ub4 kubadba @4204 0x00000000
ub2 kubaseq @4208 0x0035
ub1 kubarec @4210 0x2a
sb2 ktufbext @4212 5
sb2 ktufbspc @4214 3446
struct ktuxcfbp[2], 12 bytes @4216
struct ktufbuba, 8 bytes @4216
ub4 kubadba @4216 0x00000000
ub2 kubaseq @4220 0x0035
ub1 kubarec @4222 0x37
sb2 ktufbext @4224 5
sb2 ktufbspc @4226 1336
struct ktuxcfbp[3], 12 bytes @4228
struct ktufbuba, 8 bytes @4228
ub4 kubadba @4228 0x00000000
ub2 kubaseq @4232 0x0000
ub1 kubarec @4234 0x00
sb2 ktufbext @4236 0
sb2 ktufbspc @4238 0
struct ktuxcfbp[4], 12 bytes @4240
struct ktufbuba, 8 bytes @4240
ub4 kubadba @4240 0x00000000
ub2 kubaseq @4244 0x0000
ub1 kubarec @4246 0x00
sb2 ktufbext @4248 0
sb2 ktufbspc @4250 0
BBED> set count 16
COUNT 16
########################################################
使用bbed修改相关参数
########################################################
启动数据库
SQL> startup ORACLE instance started. Total System Global Area 318767104 bytes Fixed Size 1219160 bytes Variable Size 96470440 bytes Database Buffers 213909504 bytes Redo Buffers 7168000 bytes Database mounted. Database opened. SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod PL/SQL Release 10.2.0.1.0 - Production CORE 10.2.0.1.0 Production TNS for Linux: Version 10.2.0.1.0 - Production NLSRTL Version 10.2.0.1.0 - Production
通过bbed模拟ORA-00607/ORA-00600 4194 故障
在数据库恢复的案例中,遇到system rollback异常的故障算是中彩票了.处理起来比较麻烦,有些情况甚至是无法处理.这里通过试验模拟ORA-00607/ORA-00600[4194].类此的错误在一次银联的数据库恢复中也遇到过,不过当时由于功底不深,理解出现部分误差.
通过bbed模拟ORA-00607/ORA-00600[4194]错误
[oracle@xifenfei ~]$ bbed listfile=list mode=edit password=blockedit
BBED: Release 2.0.0.0.0 - Limited Production on Fri Nov 4 22:59:51 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED> info
File# Name Size(blks)
----- ---- ----------
1 /u01/oracle/oradata/XFF/system01.dbf 0
2 /u01/oracle/oradata/XFF/undotbs01.dbf 0
3 /u01/oracle/oradata/XFF/sysaux01.dbf 0
4 /u01/oracle/oradata/XFF/users01.dbf 0
5 /u01/oracle/oradata/XFF/datfttuser.dbf 0
BBED> set block 9
BLOCK# 9
BBED> map
File: /u01/oracle/oradata/XFF/system01.dbf (1)
Block: 9 Dba:0x00400009
------------------------------------------------------------
Unlimited Undo Segment Header
struct kcbh, 20 bytes @0
struct ktech, 72 bytes @20
struct ktemh, 16 bytes @92
struct ktetb[6], 48 bytes @108
struct ktuxc, 104 bytes @4148
struct ktuxe[255], 10200 bytes @4252
ub4 tailchk @8188
BBED> p ktuxc
struct ktuxc, 104 bytes @4148
struct ktuxcscn, 8 bytes @4148
ub4 kscnbas @4148 0x0006c75b
ub2 kscnwrp @4152 0x0000
struct ktuxcuba, 8 bytes @4156
ub4 kubadba @4156 0x00400012
ub2 kubaseq @4160 0x0037
ub1 kubarec @4162 0x1f
sb2 ktuxcflg @4164 1 (KTUXCFSK)
ub2 ktuxcseq @4166 0x0037
sb2 ktuxcnfb @4168 1 <==free undo block num
ub4 ktuxcinc @4172 0x00000000
sb2 ktuxcchd @4176 34
sb2 ktuxcctl @4178 32
ub2 ktuxcmgc @4180 0x8002
ub4 ktuxcopt @4188 0x7ffffffe
struct ktuxcfbp[0], 12 bytes @4192
struct ktufbuba, 8 bytes @4192
ub4 kubadba @4192 0x00400013 <==uba (模拟试验修改为其他uba地址)
ub2 kubaseq @4196 0x0037 <==uba sequence
ub1 kubarec @4198 0x05
sb2 ktufbext @4200 1
sb2 ktufbspc @4202 7200
struct ktuxcfbp[1], 12 bytes @4204
struct ktufbuba, 8 bytes @4204
ub4 kubadba @4204 0x00000000
ub2 kubaseq @4208 0x0035
ub1 kubarec @4210 0x2a
sb2 ktufbext @4212 5
sb2 ktufbspc @4214 3446
struct ktuxcfbp[2], 12 bytes @4216
struct ktufbuba, 8 bytes @4216
ub4 kubadba @4216 0x00000000
ub2 kubaseq @4220 0x0035
ub1 kubarec @4222 0x37
sb2 ktufbext @4224 5
sb2 ktufbspc @4226 1336
struct ktuxcfbp[3], 12 bytes @4228
struct ktufbuba, 8 bytes @4228
ub4 kubadba @4228 0x00000000
ub2 kubaseq @4232 0x0000
ub1 kubarec @4234 0x00
sb2 ktufbext @4236 0
sb2 ktufbspc @4238 0
struct ktuxcfbp[4], 12 bytes @4240
struct ktufbuba, 8 bytes @4240
ub4 kubadba @4240 0x00000000
ub2 kubaseq @4244 0x0000
ub1 kubarec @4246 0x00
sb2 ktufbext @4248 0
sb2 ktufbspc @4250 0
BBED> set dba 0x00400013
DBA 0x00400013 (4194323 1,19)
BBED> p ktubh
struct ktubh, 26 bytes @20
struct ktubhxid, 8 bytes @20
ub2 kxidusn @20 0x0000
ub2 kxidslt @22 0x0020
ub4 kxidsqn @24 0x00000029
ub2 ktubhseq @28 0x0037 <==uba seq
ub1 ktubhcnt @30 0x05
ub1 ktubhirb @31 0x05
ub1 ktubhicl @32 0x00
ub1 ktubhflg @33 0x00
ub2 ktubhidx[0] @34 0x1fe8
ub2 ktubhidx[1] @36 0x1f2c
ub2 ktubhidx[2] @38 0x1e70
ub2 ktubhidx[3] @40 0x1db4
ub2 ktubhidx[4] @42 0x1cf8
ub2 ktubhidx[5] @44 0x1c3c
BBED> set dba 0x00400012
DBA 0x00400012 (4194322 1,18)
BBED> p ktubh
struct ktubh, 86 bytes @20
struct ktubhxid, 8 bytes @20
ub2 kxidusn @20 0x0000
ub2 kxidslt @22 0x0020
ub4 kxidsqn @24 0x00000029
ub2 ktubhseq @28 0x0037
ub1 ktubhcnt @30 0x23
ub1 ktubhirb @31 0x23
ub1 ktubhicl @32 0x00
ub1 ktubhflg @33 0x00
ub2 ktubhidx[0] @34 0x1fe8
…………
ub2 ktubhidx[35] @104 0x00b4
BBED> set block 9
BLOCK# 9
BBED> set count 16
COUNT 16
BBED> m /x 12004000 offset 4192
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
File: /u01/oracle/oradata/XFF/system01.dbf (1)
Block: 9 Offsets: 4192 to 4207 Dba:0x00400009
------------------------------------------------------------------------
12004000 37000500 0100201c 00000000
<32 bytes per line>
BBED> p ktuxc
struct ktuxc, 104 bytes @4148
struct ktuxcscn, 8 bytes @4148
ub4 kscnbas @4148 0x0006c75b
ub2 kscnwrp @4152 0x0000
struct ktuxcuba, 8 bytes @4156
ub4 kubadba @4156 0x00400012
ub2 kubaseq @4160 0x0037
ub1 kubarec @4162 0x1f
sb2 ktuxcflg @4164 1 (KTUXCFSK)
ub2 ktuxcseq @4166 0x0037
sb2 ktuxcnfb @4168 1
ub4 ktuxcinc @4172 0x00000000
sb2 ktuxcchd @4176 34
sb2 ktuxcctl @4178 32
ub2 ktuxcmgc @4180 0x8002
ub4 ktuxcopt @4188 0x7ffffffe
struct ktuxcfbp[0], 12 bytes @4192
struct ktufbuba, 8 bytes @4192
ub4 kubadba @4192 0x00400012 <==uba已经被修改
ub2 kubaseq @4196 0x0037
ub1 kubarec @4198 0x05
sb2 ktufbext @4200 1
sb2 ktufbspc @4202 7200
struct ktuxcfbp[1], 12 bytes @4204
struct ktufbuba, 8 bytes @4204
ub4 kubadba @4204 0x00000000
ub2 kubaseq @4208 0x0035
ub1 kubarec @4210 0x2a
sb2 ktufbext @4212 5
sb2 ktufbspc @4214 3446
struct ktuxcfbp[2], 12 bytes @4216
struct ktufbuba, 8 bytes @4216
ub4 kubadba @4216 0x00000000
ub2 kubaseq @4220 0x0035
ub1 kubarec @4222 0x37
sb2 ktufbext @4224 5
sb2 ktufbspc @4226 1336
struct ktuxcfbp[3], 12 bytes @4228
struct ktufbuba, 8 bytes @4228
ub4 kubadba @4228 0x00000000
ub2 kubaseq @4232 0x0000
ub1 kubarec @4234 0x00
sb2 ktufbext @4236 0
sb2 ktufbspc @4238 0
struct ktuxcfbp[4], 12 bytes @4240
struct ktufbuba, 8 bytes @4240
ub4 kubadba @4240 0x00000000
ub2 kubaseq @4244 0x0000
ub1 kubarec @4246 0x00
sb2 ktufbext @4248 0
sb2 ktufbspc @4250 0
BBED> sum apply
Check value for File 1, Block 9:
current = 0xe686, required = 0xe686
启动数据库
SQL> startup ORACLE instance started. Total System Global Area 318767104 bytes Fixed Size 1219160 bytes Variable Size 96470440 bytes Database Buffers 213909504 bytes Redo Buffers 7168000 bytes Database mounted. ORA-01092: ORACLE instance terminated. Disconnection forced
alert日志
Fri Nov 4 23:10:37 2011 SMON: enabling cache recovery Fri Nov 4 23:10:37 2011 ARC2: Archival started ARC0: STARTING ARCH PROCESSES COMPLETE ARC0: Becoming the heartbeat ARCH ARC2 started with pid=18, OS id=21535 Fri Nov 4 23:10:38 2011 Errors in file /u01/oracle/admin/XFF/udump/xff_ora_21529.trc: ORA-00600: internal error code, arguments: [4194], [35], [6], [], [], [], [], [] Fri Nov 4 23:10:41 2011 Doing block recovery for file 1 block 18 Block recovery from logseq 2, block 48668 to scn 458453 Fri Nov 4 23:10:41 2011 Recovery of Online Redo Log: Thread 1 Group 1 Seq 2 Reading mem 0 Mem# 0 errs 0: /u01/oracle/oradata/XFF/redo01.log Block recovery stopped at EOT rba 2.48670.16 Block recovery completed at rba 2.48670.16, scn 0.458451 Doing block recovery for file 1 block 9 Block recovery from logseq 2, block 48668 to scn 458450 Fri Nov 4 23:10:41 2011 Recovery of Online Redo Log: Thread 1 Group 1 Seq 2 Reading mem 0 Mem# 0 errs 0: /u01/oracle/oradata/XFF/redo01.log Block recovery completed at rba 2.48670.16, scn 0.458451 Fri Nov 4 23:10:41 2011 Errors in file /u01/oracle/admin/XFF/udump/xff_ora_21529.trc: ORA-00604: error occurred at recursive SQL level 1 ORA-00607: Internal error occurred while making a change to a data block ORA-00600: internal error code, arguments: [4194], [35], [6], [], [], [], [], [] Error 604 happened during db open, shutting down database USER: terminating instance due to error 604 Instance terminated by USER, pid = 21529 ORA-1092 signalled during: ALTER DATABASE OPEN...
创建控制文件遭遇ORA-00600[3753]故障解决
一位网友的数据库正常关闭,然后控制文件意外丢失,需要通过trace中的信息重建控制文件,但是在重建的过程中,出现ORA-00600[3753]错误,远程帮忙处理,记录处理过程如下
1.启动数据库至nomount状态,然后尝试noresetlogs模式重建控制文件
SQL>@XFF_NORESETLOGS_CTL.sql CREATE CONTROLFILE REUSE DATABASE "ORA10G" NORESETLOGS ARCHIVELOG * 第 1 行出现错误: ORA-01503: CREATE CONTROLFILE 失败 ORA-00600: 内部错误代码, 参数: [3753], [3], [2], [], [], [], [], []
2.检查alert日志
Tue Aug 07 20:40:47 2012 WARNING: Default Temporary Tablespace not specified in CREATE DATABASE command Default Temporary Tablespace will be necessary for a locally managed database in future release Tue Aug 07 20:40:48 2012 Errors in file d:\oracle\product\10.2.0\db_1\admin\ora10g\udump\ora10g_ora_11596.trc: ORA-00600: 内部错误代码, 参数: [3753], [3], [2], [], [], [], [], [] Tue Aug 07 20:40:53 2012 Errors in file d:\oracle\product\10.2.0\db_1\admin\ora10g\udump\ora10g_ora_11596.trc: ORA-00600: 内部错误代码, 参数: [3753], [3], [2], [], [], [], [], [] ORA-1503 signalled during: CREATE CONTROLFILE REUSE DATABASE "ORA10G" NORESETLOGS ARCHIVELOG
3.分析trace文件
Tue Aug 07 20:40:48 2012
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Windows NT Version V6.1 Service Pack 1
CPU : 2 - type 586, 2 Physical Cores
Process Affinity : 0x00000000
Memory (Avail/Total): Ph:166M/1901M, Ph+PgF:619M/5536M, VA:812M/2047M
Instance name: ora10g
Redo thread mounted by this instance: 0 <none>
Oracle process number: 16
Windows thread id: 11596, image: ORACLE.EXE (SHAD)
*** SERVICE NAME:() 2012-08-07 20:40:48.413
*** SESSION ID:(158.7) 2012-08-07 20:40:48.413
*** 2012-08-07 20:40:48.413
ksedmp: internal or fatal error
ORA-00600: 内部错误代码, 参数: [3753], [3], [2], [], [], [], [], []
Current SQL statement for this session:
CREATE CONTROLFILE REUSE DATABASE "ORA10G" NORESETLOGS ARCHIVELOG
…………
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
_ksedst+38 CALLrel _ksedst1+0 0 1
_ksedmp+898 CALLrel _ksedst+0 0
_ksfdmp+14 CALLrel _ksedmp+0 3
603A816A CALLreg 00000000 87CF110 3
603A83FF CALLrel 603A80D8 87CF110 8191090 EA9 2 8CCC438
_ksesic2+59 CALLrel _kgesiv+0 87CF110 8191090 EA9 2 8CCC438
EA9 2 8CCC438
__VInfreq__kctbce+1 CALLrel _ksesic2+0 EA9 0 3 0 0 2 0
63
_kcfccfl+356 CALLrel _kctbce+0 543414C 81DB8A8
_cdbdrv+1037 CALLrel _kcfccfl+0 543414C 1 8CCD060 8CCD04C
19000 3
_opiexe+11999 CALLrel _cdbdrv+0 1
_opiosq0+6088 CALLrel _opiexe+0 4 0 8CCD894
_kpooprx+232 CALLrel _opiosq0+0 3 E 8CCD9AC A4
_kpoal8+775 CALLrel _kpooprx+0 8CCF6CC 8196414 A16 1 0 A4
_opiodr+1099 CALLreg 00000000 5E 17 8CCF6C8
60FEFF8D CALLreg 00000000 5E 17 8CCF6C8 0
_opitsk+1017 CALL??? 00000000
_opiino+1087 CALLrel _opitsk+0 0 0
_opiodr+1099 CALLreg 00000000 3C 4 8CCFC60
_opidrv+819 CALLrel _opiodr+0 3C 4 8CCFC60 0
_sou2o+45 CALLrel _opidrv+0 3C 4 8CCFC60
_opimai_real+112 CALLrel _sou2o+0 8CCFC54 3C 4 8CCFC60
_opimai+92 CALLrel _opimai_real+0 2 8CCFC8C
_OracleThreadStart@ CALLrel _opimai+0
4+708
__pRawDllMain+10931 CALLptr 00000000
2903
__pRawDllMain+12925 CALLreg 00000000
4809
__pRawDllMain+12925 CALLrel __pRawDllMain+12925
4761 4772
--------------------- Binary Stack Dump ---------------------
----------------------------------------
SO: 4FB3DF5C, type: 4, owner: 4FA4CBFC, flag: INIT/-/-/0x00
(session) sid: 158 trans: 4EBB8954, creator: 4FA4CBFC, flag: (41) USR/- BSY/-/-/-/-/-
DID: 0000-0010-0000000A, short-term DID: 0000-0000-00000000
txn branch: 00000000
oct: 0, prv: 0, sql: 00000000, psql: 4F707298, user: 0/SYS
O/S info: user: superv06-PC\superv06, term: SUPERV06-PC, ospid: 7788:11636, machine: WORKGROUP\SUPERV06-PC
program: sqlplus.exe
application name: sqlplus.exe, hash value=0
last wait for 'log file sequential read' blocking sess=0x00000000 seq=31
wait_time=159 seconds since wait started=0
log#=0, block#=1, blocks=1
Dumping Session Wait History
for 'log file sequential read' count=1 wait_time=159
log#=0, block#=1, blocks=1
for 'log file sequential read' count=1 wait_time=502
log#=0, block#=1, blocks=1
for 'log file sequential read' count=1 wait_time=163
log#=0, block#=1, blocks=1
for 'db file sequential read' count=1 wait_time=18840
file#=ffffffff, block#=1, blocks=1
for 'db file sequential read' count=1 wait_time=254
file#=ffffffff, block#=1, blocks=1
for 'db file sequential read' count=1 wait_time=7654
file#=ffffffff, block#=1, blocks=1
for 'db file sequential read' count=1 wait_time=150
file#=ffffffff, block#=1, blocks=1
for 'db file sequential read' count=1 wait_time=102
file#=ffffffff, block#=1, blocks=1
for 'db file sequential read' count=1 wait_time=123
file#=ffffffff, block#=1, blocks=1
for 'db file sequential read' count=1 wait_time=14010
file#=ffffffff, block#=1, blocks=1
通过这里我们发现创建控制文件的进程在读取redo log的时候出现了等待比较多而且时间比较长,而对于ORA-00600[3753]错误互联网上没有任何更多的信息.通过对于创建控制文件时候因为使用noresetlogs的分析:这种模式下需要读取redo log,所以导致等待较多,从而出现ORA-00600[3753]错误使得创建控制文件失败.因为本库是shutdown immediate关闭,所以我们完全可以通过resetlogs模式来创建控制文件,从而避免读取redo log.
4.创建resetlogs控制文件
SQL>@XFF_RESETLOGS_CTL.sql Control file created.
5.然后不完全恢复使用resetlogs open数据库
这次的处理我也没有什么经验可以借鉴,MOS和互联网上没有该错误的任何信息,解决这个问题关键凭的是自己对于noresetlogs和resetlogs的理解.对于数据库原理的理解,对解决一些陌生问题帮助很大;在学习ORACLE过程中注重对原理的理解和消化

加我微信(17813235971)
加我QQ(107644445)

