标签云
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,882)
- DB2 (22)
- MySQL (82)
- Oracle (1,707)
- 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备份恢复 (661)
- 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)
-
最近发表
- 断电引起ORA-600 3005故障处理
- 记录一次云存储资源到期之后引起的数据库恢复
- 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
标签归档:ora-600 4000 bbed
aix环境10g由于控制器异常导致ORA-600 4000故障处理
由于控制器异常导致数据库启动的时候报ORA-600 4000错误
Wed Jan 28 18:17:06 2026 Completed crash recovery at Thread 1: logseq 499321, block 14459, scn 17457591400427 257 data blocks read, 41 data blocks written, 14457 redo blocks read Wed Jan 28 18:17:06 2026 Thread 1 advanced to log sequence 499322 Thread 1 opened at log sequence 499322 Current log# 2 seq# 499322 mem# 0: /dev/rrk_redo2 Successful open of redo thread 1 Wed Jan 28 18:17:06 2026 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Wed Jan 28 18:17:06 2026 SMON: enabling cache recovery Wed Jan 28 18:17:07 2026 Errors in file /u01/app/oracle/admin/orcl1/udump/orcl1_ora_16187632.trc: ORA-00600: internal error code, arguments: [4000], [9], [], [], [], [], [], [] Wed Jan 28 18:17:08 2026 Errors in file /u01/app/oracle/admin/orcl1/udump/orcl1_ora_16187632.trc: ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00600: internal error code, arguments: [4000], [9], [], [], [], [], [], [] Wed Jan 28 18:17:08 2026 Error 704 happened during db open, shutting down database USER: terminating instance due to error 704 Instance terminated by USER, pid = 16187632 ORA-1092 signalled during: alter database open...
ORA-600 4000这个是在10g版本中非常常见的一个错误,一般是由于对应的block上面有事务没有提交或者scn过大导致,跟踪数据库启动过程发现在以下sql语句报错,而且报错为file 1 block 27527
EXEC #2:c=0,e=62,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,tim=437860213380 WAIT #2: nam='db file sequential read' ela= 139 file#=1 block#=27527 blocks=1 obj#=-1 tim=437860213555 *** 2026-01-31 15:31:40.417 ksedmp: internal or fatal error ORA-00600: internal error code, arguments: [4000], [9], [], [], [], [], [], [] Current SQL statement for this session: select rowcnt,blkcnt,empcnt,avgspc,chncnt,avgrln,nvl(degree,1), nvl(instances,1) from tab$ where obj# = :1
这里可以获取到两个有效信息:
1. 报错block为:file 1 block 27227
2. 报错sql为:select rowcnt,blkcnt,empcnt,avgspc,chncnt,avgrln,nvl(degree,1), nvl(instances,1) from tab$ where obj# = :1
进一步对报错数据块进行分析
Block header dump: 0x00406b87
Object id on Block? Y
seg/obj: 0x2 csc: 0xfe0.a99d3719 itc: 2 flg: - typ: 1 - DATA
fsl: 0 fnx: 0x0 ver: 0x01
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x000b.014.00f1bb09 0x008027a5.eada.0e C--- 0 scn 0x0fda.f353b198
0x02 0x0009.01e.00212e2a 0x01400cdf.113e.01 --U- 1 fsc 0x0000.a99d371b
这里可以确认几个有效信息:
1. 该block的csc scn为:17457592743705
2. 一条已经提交的事务的scn为:17433059635608
3. 还有一条没有提交的事务,使用的回滚段为9,这个和我们报错的ORA-600[4000][9]这个回滚段名称匹配上
基于上述分析,我们需要确认两件事情:
1. 通过Oracle数据库异常恢复检查脚本(Oracle Database Recovery Check)脚本检查结果,确认当前是数据库的文件头scn为:17457591420434小于该block的csc scn

2. itl操上面有一个锁需要提交,通过bbed工具对其进行提交,然后得出dump block信息
Block header dump: 0x00406b87
Object id on Block? Y
seg/obj: 0x2 csc: 0xfe0.a99d3719 itc: 2 flg: - typ: 1 - DATA
fsl: 0 fnx: 0x0 ver: 0x01
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x000b.014.00f1bb09 0x008027a5.eada.0e C--- 0 scn 0x0fda.f353b198
0x02 0x0009.01e.00212e2a 0x01400cdf.113e.01 C--- 0 scn 0x0000.a99d371b
修改好itl之后,先尝试重启库,如果不出意外应该会报ORA-600 2662类似错误(因为前面分析了csc scn大于文件头scn的问题)

这里的ORA-600 2662中的4221831就是报错的rdba地址(10进制),通过dbms_utility.data_block_address_file转换
SQL> select dbms_utility.data_block_address_file(4221831) "file",
2 dbms_utility.data_block_address_block(4221831) "block"
3 from dual;
file block
---------- ----------
1 27527
得出报错的ORA-600 2662的block就是我们之前分析和修复的itl块,通过修改该块scn或者修改数据库scn,该库均可open,后续就是安排导出数据导入新库的活


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

