标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-00742 ORA-01110 ORA-01555 ORA-01578 ORA-01595 ORA-08103 ORA-600 2131 ORA-600 2662 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-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 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (103)
- 数据库 (1,767)
- DB2 (22)
- MySQL (77)
- Oracle (1,608)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (166)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (69)
- Oracle Bug (8)
- Oracle RAC (54)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (29)
- Oracle备份恢复 (590)
- Oracle安装升级 (97)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (86)
- PostgreSQL (30)
- pdu工具 (6)
- PostgreSQL恢复 (9)
- SQL Server (32)
- SQL Server恢复 (13)
- TimesTen (7)
- 达梦数据库 (3)
- 达梦恢复 (1)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (39)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (22)
-
最近发表
- ORA-00756 ORA-10567故障数据0丢失恢复
- 数据库文件变成32k故障恢复
- tcp连接过多导致监听TNS-12532 TNS-12560 TNS-00502错误
- 文件系统格式化MySQL数据库恢复
- .sstop勒索加密数据库恢复
- 解决一次硬件恢复之后数据文件0kb的故障恢复case
- Error in invoking target ‘libasmclntsh19.ohso libasmperl19.ohso client_sharedlib’问题处理
- ORA-01171: datafile N going offline due to error advancing checkpoint
- linux环境oracle数据库被文件系统勒索加密为.babyk扩展名溯源
- ORA-600 ksvworkmsgalloc: bad reaper
- ORA-600 krccfl_chunk故障处理
- Oracle Recovery Tools恢复案例总结—202505
- ORA-600 kddummy_blkchk 数据库循环重启
- 记录一次asm disk加入到vg通过恢复直接open库的案例
- CHECKDB 发现了 N 个分配错误和 M 个一致性错误
- 达梦数据库dm.ctl文件异常恢复
- Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障
- 可能是 tempdb 空间用尽或某个系统表不一致故障处理
- 11.2.0.4库中遇到ORA-600 kcratr_nab_less_than_odr报错
- [MY-013183] [InnoDB] Assertion failure故障处理
分类目录归档:Oracle备份恢复
ORA-00756 ORA-10567故障数据0丢失恢复
客户虚拟化故障修复之后,数据库启动报ORA-600 kcratr_scan_lastbwr错误
这个是一个比较常见的错误,一般recover 下就ok了,但是有些时候会出现ORA-600 3020或者类似ORA-00756 ORA-10567的错误,比如这次不幸就遇到了该错误
SQL> recover database; ORA-00283: recovery session canceled due to errors ORA-00756: recovery detected a lost write of a data block ORA-10567: Redo is inconsistent with data block (file# 10, block# 4005760, file offset is 2750414848 bytes) ORA-10564: tablespace PACS55 ORA-01110: data file 10: '/u02/oradata/pacsdb/pacs55.4.dbf' ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 76649
然后尝试单个文件recover恢复
SQL> recover datafile 10; ORA-00283: recovery session canceled due to errors ORA-00756: recovery detected a lost write of a data block ORA-10567: Redo is inconsistent with data block (file# 10, block# 4005760, file offset is 2750414848 bytes) ORA-10564: tablespace PACS55 ORA-01110: data file 10: '/u02/oradata/pacsdb/pacs55.4.dbf' ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 76649 SQL> recover datafile 9; ORA-00283: recovery session canceled due to errors ORA-00756: recovery detected a lost write of a data block ORA-10567: Redo is inconsistent with data block (file# 9, block# 4158754, file offset is 4003741696 bytes) ORA-10564: tablespace PACS55 ORA-01110: data file 9: '/u02/oradata/pacsdb/pacs55.3.dbf' ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 76660
通过dbv检查这两个异常文件
[oracle@oradb ~]$ dbv file=/u02/oradata/pacsdb/pacs55.3.dbf DBVERIFY: Release 19.0.0.0.0 - Production on Sat Jun 28 23:02:15 2025 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. DBVERIFY - Verification starting : FILE = /u02/oradata/pacsdb/pacs55.3.dbf DBVERIFY - Verification complete Total Pages Examined : 4194302 Total Pages Processed (Data) : 2482487 Total Pages Failing (Data) : 0 Total Pages Processed (Index): 1655515 Total Pages Failing (Index): 0 Total Pages Processed (Lob) : 25017 Total Pages Failing (Lob) : 0 Total Pages Processed (Other): 15919 Total Pages Processed (Seg) : 0 Total Pages Failing (Seg) : 0 Total Pages Empty : 15364 Total Pages Marked Corrupt : 0 Total Pages Influx : 0 Total Pages Encrypted : 0 Highest block SCN : 311133131196 (72.1895485884) [oracle@oradb ~]$ dbv file=/u02/oradata/pacsdb/pacs55.4.dbf DBVERIFY: Release 19.0.0.0.0 - Production on Sat Jun 28 23:04:59 2025 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. DBVERIFY - Verification starting : FILE = /u02/oradata/pacsdb/pacs55.4.dbf DBVERIFY - Verification complete Total Pages Examined : 4194302 Total Pages Processed (Data) : 2466409 Total Pages Failing (Data) : 0 Total Pages Processed (Index): 1683244 Total Pages Failing (Index): 0 Total Pages Processed (Lob) : 16977 Total Pages Failing (Lob) : 0 Total Pages Processed (Other): 15909 Total Pages Processed (Seg) : 0 Total Pages Failing (Seg) : 0 Total Pages Empty : 11763 Total Pages Marked Corrupt : 0 Total Pages Influx : 0 Total Pages Encrypted : 0 Highest block SCN : 311133133727 (72.1895488415)
确定数据文件本身没有坏块,只是redo写丢失或者某种bug导致少量block应用redo的时候异常,而且报错是index,直接通过底层处理报错的block,让其这些报错的block直接不应用日志,然后完成recover操作,其他数据块数据不会丢失(最大限度减少损失,而不是直接修改文件头scn,或者强制拉库的方式来处理)
SQL> select file#,fuzzy from v$datafile_header; FILE# FUZ ---------- --- 1 NO 2 NO 3 NO 4 NO 5 NO 7 NO 8 NO 9 YES 10 YES 11 NO 12 NO FILE# FUZ ---------- --- 13 NO 14 NO 15 NO 16 NO 17 NO 18 NO 19 NO 18 rows selected. SQL> recover datafile 9 ; Media recovery complete. SQL> recover datafile 10 ; ORA-00283: recovery session canceled due to errors ORA-00756: recovery detected a lost write of a data block ORA-10567: Redo is inconsistent with data block (file# 10, block# 3822912, file offset is 1252524032 bytes) ORA-10564: tablespace PACS55 ORA-01110: data file 10: '/u02/oradata/pacsdb/pacs55.4.dbf' ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 76649 SQL> recover datafile 10; Media recovery complete.
正常open数据库成功,并rebuild 异常的对象
SQL> alter database open; Database altered. SQL> select owner,object_name,object_type from dba_objects where data_object_id in(76649,76660); OWNER -------------------------------------------------------------------------------- OBJECT_NAME -------------------------------------------------------------------------------- OBJECT_TYPE ----------------------- PACS55 STUDYINFO_DIAGRPTID INDEX PACS55 PACS_STUDYINFO_PK INDEX OWNER -------------------------------------------------------------------------------- OBJECT_NAME -------------------------------------------------------------------------------- OBJECT_TYPE ----------------------- SQL> alter index PACS55.STUDYINFO_DIAGRPTID rebuild online parallel 4; Index altered. SQL> alter index PACS55.PACS_STUDYINFO_PK rebuild online parallel 4; Index altered. SQL> SQL> SQL> SQL> alter index PACS55.STUDYINFO_DIAGRPTID noparallel; alter index PACS55.PACS_STUDYINFO_PK noparallel; Index altered. SQL> Index altered.
至此该库完美恢复业务可以直接使用,业务数据0丢失.这次运气比较好,如果是表数据异常,可能会麻烦一点,但是也可以最大限度恢复(肯定比强制拉库,或者修改文件头的方式效果好)
数据库文件变成32k故障恢复
最近一个客户数据库重启系统之后,数据文件大小变为了32kb,我接手的不是第一现场(客户那边尝试了rman还原操作),查看alert日志,数据库最初报错
Wed Jun 18 13:09:23 2025 alter database open Block change tracking file is current. Read of datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\WASION08.DBF' (fno 14) header failed with ORA-01210 Hex dump of (file 14, block 1) in trace file d:\app\administrator\diag\rdbms\ORCL\ORCL\trace\ORCL_ora_11208.trc Corrupt block relative dba: 0x03800001 (file 14, block 1) Completely zero block found during datafile header read Rereading datafile 14 header failed with ORA-01210 Hex dump of (file 14, block 1) in trace file d:\app\administrator\diag\rdbms\ORCL\ORCL\trace\ORCL_ora_11208.trc Corrupt block relative dba: 0x03800001 (file 14, block 1) Completely zero block found during datafile header read Errors in file d:\app\administrator\diag\rdbms\ORCL\ORCL\trace\ORCL_ora_11208.trc: ORA-01122: 数据库文件 14 验证失败 ORA-01110: 数据文件 14: 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\WASION08.DBF' ORA-01210: 数据文件标头发生介质损坏 ORA-1122 signalled during: alter database open... Wed Jun 18 13:09:23 2025 Checker run found 1 new persistent data failures
客户那边不知道做了什么操作之后报错(初步估计是把14号文件重命名了)
Thu Jun 19 16:04:19 2025 alter database open Thu Jun 19 16:04:21 2025 Errors in file d:\app\administrator\diag\rdbms\ORCL\ORCL\trace\ORCL_dbw0_13000.trc: ORA-01157: ????/?????? 14 - ??? DBWR ???? ORA-01110: ???? 14: 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\WASION08.DBF' ORA-27041: ?????? OSD-04002: 无法打开文件 O/S-Error: (OS 2) 系统找不到指定的文件。 Errors in file d:\app\administrator\diag\rdbms\ORCL\ORCL\trace\ORCL_ora_12328.trc: ORA-03113: 通信通道的文件结尾 ORA-3113 signalled during: alter database open...
根据客户反馈14号文件变成了32kb,就是被重命名的.bak文件
这其中有一个bak0618是通过rman还原出来的(备份中无有效的14号文件备份,还原出来的为该文件初始化创建大小)
Thu Jul 07 16:57:05 2022 alter tablespace wasion add datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\WASION08.dbf' size 10g autoextend on Completed: alter tablespace wasion add datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\WASION08.dbf' size 10g autoextend on
基于当前情况,可以确认该文件异常,而且没有有效的rman备份.通过分析备份脚本,发现每个备份集1个数据文件,而且没有压缩,并按照10g进行分割为多个文件

这些本身没有问题,脚本的后面有直接通过系统级别命令删除两天之前的备份文件

这里有一个问题,由于磁盘空间不足,导致部分备份不成功,但是系统级别删除操作依旧正常进行,导致以前有效的备份被删除,后面的备份又没有成功(这个是本次该文件无法还原的主要原因),慎重提醒,rman备份尽量使用rman本身的策略来管理不要使用系统命令来维护备份策略,基于这样的情况,可以使用反删除命令找出来了一些该文件的备份集,并注册到控制文件中
RMAN> list backup of datafile 14; 备份集列表 =================== BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间 ------- ---- -- ---------- ----------- ------------ ---------- 35251 Incr 0 10.89G DISK 00:01:20 15-6月 -25 备份集 35251 中的数据文件列表 文件 LV 类型 Ckp SCN Ckp 时间 名称 ---- -- ---- ---------- ---------- ---- 14 0 Incr 758850903 15-6月 -25 D:\APP\ADMINISTRATOR\ORADATA\ORCL\WASION08.DBF 备份集 副本号 2 属于备份集 35251 设备类型 经过时间 完成时间 压缩标记 ----------- ------------ ---------- ---------- --- DISK 00:01:20 26-6月 -25 NO TAG20250615T220003 备份集 35251 副本号 2的备份片段列表 BP 关键字 Pc# 状态 段名称 ------- --- ----------- ---------- 78307 1 AVAILABLE H:\BAIDUNETDISK\202506191452\L0_ORCL_20250615_78847_VV3S3RQP_1_1 78308 2 AVAILABLE H:\BAIDUNETDISK\202506191452\L0_ORCL_20250615_78847_VV3S3RQP_2_1 BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间 ------- ---- -- ---------- ----------- ------------ ---------- 35266 Incr 0 1.81G DISK 00:00:00 17-6月 -25 备份集 35266 中的数据文件列表 文件 LV 类型 Ckp SCN Ckp 时间 名称 ---- -- ---- ---------- ---------- ---- 14 Full 759283192 17-6月 -25 D:\APP\ADMINISTRATOR\ORADATA\ORCL\WASION08.DBF 备份集 副本号 1 属于备份集 35266 设备类型 经过时间 完成时间 压缩标记 ----------- ------------ ---------- ---------- --- DISK 00:00:00 26-6月 -25 NO TAG20250617T220049 备份集 35266 副本号 1的备份片段列表 BP 关键字 Pc# 状态 段名称 ------- --- ----------- ---------- 1 DELETED <---缺少一个备份集文件 78309 2 AVAILABLE H:\BAIDUNETDISK\202506191452\L0_ORCL_20250617_79022_5E3S94MC_2_1
尝试rman还原这些备份文件
RMAN> run 2> { 3> SET NEWNAME FOR DATAFILE 14 to 'H:\BaiduNetdisk\202506191452\14.dbf'; 4> restore datafile 14; 5> } 正在执行命令: SET NEWNAME 启动 restore 于 26-6月 -25 使用通道 ORA_DISK_1 通道 ORA_DISK_1: 正在开始还原数据文件备份集 通道 ORA_DISK_1: 正在指定从备份集还原的数据文件 通道 ORA_DISK_1: 将数据文件 00014 还原到 H:\BAIDUNETDISK\202506191452\14.DBF 通道 ORA_DISK_1: 正在还原段 1 (属于 2) 通道 ORA_DISK_1: 正在读取备份片段 H:\BAIDUNETDISK\202506191452\L0_ORCL_20250615_78847_VV3S3RQP_1_1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: restore 命令 (在 06/26/2025 08:35:53 上) 失败 ORA-19870: 还原备份片段 H:\BAIDUNETDISK\202506191452\L0_ORCL_20250615_78847_VV3S3RQP_1_1 时出错 ORA-00600: 内部错误代码, 参数: [krbvalmrange_badfno], [1], [14], [], [], [], [], [], [], [], [], []
alert日志报错
Thu Jun 26 08:25:26 2025 Checker run found 39 new persistent data failures Thu Jun 26 08:35:51 2025 Datafile rdba reconstruction error, expected block greater than 804966, got 322047 for datafile 14 Corrupt block 804352 found during reading backup piece, file=H:\BAIDUNETDISK\202506191452\L0_ORCL_20250615_78847_VV3S3RQP_1_1, corr_type=4 Reread of blocknum=804352, file=H:\BAIDUNETDISK\202506191452\L0_ORCL_20250615_78847_VV3S3RQP_1_1. found valid data Datafile rdba reconstruction error, expected block greater than 324095, got 55516 for datafile 14 Corrupt block 806400 found during reading backup piece, file=H:\BAIDUNETDISK\202506191452\L0_ORCL_20250615_78847_VV3S3RQP_1_1, corr_type=4 Reread of blocknum=806400, file=H:\BAIDUNETDISK\202506191452\L0_ORCL_20250615_78847_VV3S3RQP_1_1. found valid data Errors in file C:\APP\XFF\diag\rdbms\ORCL\orcl\trace\orcl_ora_19208.trc (incident=177): ORA-00600: 内部错误代码, 参数: [krbvalmrange_badfno], [1], [14], [], [], [], [], [], [], [], [], [] Incident details in: C:\APP\XFF\diag\rdbms\ORCL\orcl\incident\incdir_177\orcl_ora_19208_i177.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Thu Jun 26 08:35:52 2025
后面通过工具分析以及ORA-600 krbvalmrange_badfno的错误,基本上可以确认在反删除恢复的备份集文件中部分rman的block是其他数据文件的,从而导致无法正常还原.基于这种情况,通过工具进行强制还原出来部分14号数据文件的block
然后再通过磁盘级别碎片,找到部分没有覆盖的block

把rman备份中强制抽取的部分block和底层碎片恢复的没有覆盖的block组合到一起,通过检测确认恢复了大概2/3的数据

基于恢复的该文件和这个表空间的其他文件一起,使用dul工具把数据恢复到新库中,最大限度完成本次数据的抢救工作.
本次故障本不该发生,或者说发生不该如此严重:
1. rman备份采用系统级别维护策略,在备份没有成功的情况下依旧通过系统层面删除文件,导致故障文件无一份有效备份
2. 发生故障之后,没有保护现场的意识:对于32kb的数据文件所在磁盘进行了大量的写入操作(近1T的数据文件直接在本盘做了一次拷贝,还有rman默认写入到了以前文件所在位置)
ORA-600 kddummy_blkchk 数据库循环重启
一个运行在hp平台的10g rac突然异常,之后运行一段时间就自动重启,客户让对其进行分析和解决
Thu May 8 06:23:21 2025 ALTER DATABASE OPEN Picked broadcast on commit scheme to generate SCNs Thu May 8 06:23:21 2025 Thread 1 opened at log sequence 74302 Current log# 1 seq# 74302 mem# 0: /dev/vgdata/rrac_redo01 Successful open of redo thread 1 Thu May 8 06:23:21 2025 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Thu May 8 06:23:21 2025 SMON: enabling cache recovery Thu May 8 06:23:22 2025 Successfully onlined Undo Tablespace 1. Thu May 8 06:23:22 2025 SMON: enabling tx recovery Thu May 8 06:23:22 2025 Database Characterset is ZHS16CGB231280 Opening with internal Resource Manager plan where NUMA PG = 1, CPUs = 4 replication_dependency_tracking turned off (no async multimaster replication found) Thu May 8 06:23:23 2025 Errors in file /users/oracle/admin/orcl/bdump/orcl1_smon_15721.trc: ORA-00600: internal error code, arguments: [kddummy_blkchk], [118], [333578], [18019], [], [], [], [] Starting background process QMNC QMNC started with pid=22, OS id=15792 Thu May 8 06:23:25 2025 ORACLE Instance orcl1 (pid = 13) - Error 607 encountered while recovering transaction (9, 33) on object 775794. Thu May 8 06:23:25 2025 Errors in file /users/oracle/admin/orcl/bdump/orcl1_smon_15721.trc: ORA-00607: Internal error occurred while making a change to a data block ORA-00600: internal error code, arguments: [kddummy_blkchk], [118], [333578], [18019], [], [], [], [] Thu May 8 06:23:26 2025 Completed: ALTER DATABASE OPEN Thu May 8 06:23:26 2025 Doing block recovery for file 118 block 333578 Block recovery from logseq 74302, block 22 to scn 46740761996 Thu May 8 06:23:26 2025 Recovery of Online Redo Log: Thread 1 Group 1 Seq 74302 Reading mem 0 Mem# 0: /dev/vgdata/rrac_redo01 Block recovery stopped at EOT rba 74302.33.16 Block recovery completed at rba 74302.33.16, scn 10.3791089036 Thu May 8 06:23:33 2025 Trace dumping is performing id=[cdmp_20250508062324] Thu May 8 06:25:55 2025 Errors in file /users/oracle/admin/orcl/bdump/orcl1_smon_15721.trc: ORA-00600: internal error code, arguments: [kddummy_blkchk], [118], [333578], [18019], [], [], [], [] Thu May 8 06:25:58 2025 ORACLE Instance orcl1 (pid = 13) - Error 607 encountered while recovering transaction (9, 33) on object 775794. Thu May 8 06:27:32 2025 Errors in file /users/oracle/admin/orcl/bdump/orcl1_smon_15721.trc: ORA-00600: internal error code, arguments: [kddummy_blkchk], [118], [333578], [18019], [], [], [], [] Errors in file /users/oracle/admin/orcl/bdump/orcl1_smon_15721.trc: Doing block recovery for file 118 block 333578 Block recovery from logseq 74302, block 372 to scn 46740952565 Thu May 8 06:27:41 2025 Errors in file /users/oracle/admin/orcl/bdump/orcl1_smon_15721.trc: ORA-00600: internal error code, arguments: [kddummy_blkchk], [118], [333578], [18019], [], [], [], [] ORACLE Instance orcl1 (pid = 13) - Error 607 encountered while recovering transaction (9, 33) on object 775794. Thu May 8 06:27:43 2025 Errors in file /users/oracle/admin/orcl/bdump/orcl1_smon_15721.trc: ORA-00607: Internal error occurred while making a change to a data block ORA-00600: internal error code, arguments: [kddummy_blkchk], [118], [333578], [18019], [], [], [], [] Doing block recovery for file 118 block 333578 Block recovery from logseq 74302, block 372 to scn 46740952565 Thu May 8 06:27:45 2025 Recovery of Online Redo Log: Thread 1 Group 1 Seq 74302 Reading mem 0 Mem# 0: /dev/vgdata/rrac_redo01 Block recovery completed at rba 74302.394.16, scn 10.3791279606 Thu May 8 06:27:47 2025 Errors in file /users/oracle/admin/orcl/bdump/orcl1_smon_15721.trc: ORA-00600: internal error code, arguments: [kddummy_blkchk], [118], [333578], [18019], [], [], [], [] Thu May 8 06:28:07 2025 Errors in file /users/oracle/admin/orcl/bdump/orcl1_pmon_15690.trc: ORA-00474: SMON process terminated with error Thu May 8 06:28:07 2025 PMON: terminating instance due to error 474
这个数据库重启是由于smon进程异常导致数据库关闭,然后rac自动拉起数据库,从而出现了循环重启启动,smon异常的主要原因是由于“ORACLE Instance orcl1 (pid = 13) – Error 607 encountered while recovering transaction (9, 33) on object 775794.”这个表示有实物要回滚,但是遇到了ORA-600 kddummy_blkchk异常,无法完成回滚从而使得smon进程异常进而使得数据实例crash.对于这个问题处理相对比较简单
1. 通过ORA-600 kddummy_blkchk找出来报错对象
ORA-00600: internal error code, arguments: [kddummy_blkchk], [a], [b], 1 ARGUMENTS: Arg [a] Absolute file number Arg [b] Block number Arg 1 Internal error code returned from kcbchk() which indicates the problem encountered.
2. 屏蔽实物回滚,打开数据库,然后对通过dba_extents 查询出来的对象/或者根据事务报错的object信息查询出来对象进行重建,完成本次恢复任务
关于ORA-00600: internal error code, arguments: [kddummy_blkchk], [a], [b], 相关目前已知bug
Bug | Fixed | Description |
12349316 | 11.2.0.4, 12.1.0.2, 12.2.0.1 | DBMS_SPACE_ADMIN.TABLESPACE_FIX_BITMAPS fails with ORA-600 [kddummy_blkchk] / ORA-600 [kdBlkCheckError] / ORA-607 |
17325413 | 11.2.0.3.BP23, 11.2.0.4.2, 11.2.0.4.BP04, 12.1.0.1.3, 12.1.0.2, 12.2.0.1 | Drop column with DEFAULT value and NOT NULL definition ends up with Dropped Column Data still on Disk leading to Corruption |
13715932 | 11.2.0.4, 12.1.0.1 | ORA-600 [kddummy_blkchk] [18038] while adding extents to a large datafile |
12417369 | 11.2.0.2.5, 11.2.0.2.BP13, 11.2.0.2.GIPSU05, 11.2.0.3, 12.1.0.1 | Block corruption from rollback on compressed table |
10324526 | 10.2.0.5.4, 11.1.0.7.8, 11.2.0.2.3, 11.2.0.2.BP06, 11.2.0.3, 12.1.0.1 | ORA-600 [kddummy_blkchk] [6106] / corruption on COMPRESS table in TTS |
10113224 | 11.2.0.3, 12.1.0.1 | Index coalesce may generate invalid redo if blocks in the buffer cache are invalid/corrupted |
9726702 | 11.2.0.3, 12.1.0.1 | DBMS_SPACE_ADMIN.assm_segment_verify reports HWM related inconsistencies |
9724970 | 11.2.0.1.BP08, 11.2.0.2.2, 11.2.0.2.BP02, 11.2.0.3, 12.1.0.1 | Block Corruption with PDML UPDATE. ORA_600 [4511] OERI[kdblkcheckerror] by block check |
9711859 | 10.2.0.5.1, 11.1.0.7.6, 11.2.0.2, 12.1.0.1 | ORA-600 [ktsptrn_fix-extmap] / ORA-600 [kdblkcheckerror] during extent allocation caused by bug 8198906 |
9581240 | 11.1.0.7.9, 11.2.0.2, 12.1.0.1 | Corruption / ORA-600 [kddummy_blkchk] [6101] / ORA-600 [7999] after RENAME operation during ROLLBACK |
9350204 | 11.2.0.3, 12.1.0.1 | Spurious ORA-600 [kddummy_blkchk] .. [6145] during CR operations on tables with ROWDEPENDENCIES |
9231605 | 11.1.0.7.4, 11.2.0.1.3, 11.2.0.1.BP02, 11.2.0.2, 12.1.0.1 | Block corruption with missing row on a compressed table after DELETE |
9119771 | 11.2.0.2, 12.1.0.1 | OERI [kddummy_blkchk]…[6108] from ‘SHRINK SPACE CASCADE’ |
9019113 | 11.2.0.1.BP02, 11.2.0.2, 12.1.0.1 | ORA-600 [17182] ORA-7445 [memcpy] ORA-600 [kdBlkCheckError] for OLTP COMPRESS table in OLTP Compression REDO during RECOVERY |
8951812 | 11.2.0.2, 12.1.0.1 | Corrupt index by rebuild online. Possible OERI [kddummy_blkchk] by SMON |
8720802 | 10.2.0.5, 11.2.0.1.BP07, 11.2.0.2, 12.1.0.1 | Add check for row piece pointing to itself (db_block_checking,dbv,rman,analyze) |
8331063 | 11.2.0.3, 12.1.0.1 | Corrupt Undo. ORA-600 [2015] in Undo Block During Rollback |
6523037 | 11.2.0.1.BP07, 11.2.0.2.2, 11.2.0.2.BP01, 11.2.0.3, 12.1.0.1 | Corruption / ORA-600 [kddummy_blkchk] [6110] on update |
8277580 | 11.1.0.7.2, 11.2.0.1, 11.2.0.2, 12.1.0.1 | Corruption on compressed tables during Recovery and Quick Multi Delete (QMD). |
9964102 | 11.2.0.1 | OERI:2015 / OERI:kddummy_blkchk / undo corruption from supplementat logging with compressed tables |
8613137 | 11.1.0.7.2, 11.2.0.1 | ORA-600 updating table with DEFERRED constraints |
8360192 | 11.1.0.7.6, 11.2.0.1 | ORA-600 [kdBlkCheckError] [6110] / corruption from insert |
8239658 | 10.2.0.5, 11.2.0.1 | Dump / corruption writing row to compressed table |
8198906 | 10.2.0.5, 11.2.0.1 | OERI [kddummy_blkchk] / OERI [5467] for an aborted transaction of allocating extents |
7715244 | 11.1.0.7.2, 11.2.0.1 | Corruption on compressed tables. Error codes 6103 / 6110 |
7662491 | 10.2.0.4.2, 10.2.0.5, 11.1.0.7.4, 11.2.0.1 | Array Update can corrupt a row. Errors OERI[kghstack_free1] or OERI[kddummy_blkchk][6110] |
7411865 | 10.2.0.4.2, 10.2.0.5, 11.1.0.7.1, 11.2.0.1 | OERI:13030 / ORA-1407 / block corruption from UPDATE .. RETURNING DML with trigger |
7331181 | 11.2.0.1 | ORA-1555 or OERI [kddummy_blkchk] [file#] [block#] [6126] during CR Rollback in query |
7293156 | 11.1.0.7, 11.2.0.1 | ORA-600 [2023] by Parallel Transaction Rollback when applying Multi-block undo Head-piece / Tail-piece |
7041254 | 11.1.0.7.5, 11.2.0.1 | ORA-19661 during RMAN restore check logical of compressed backup / IOT dummy key |
6760697 | 10.2.0.4.3, 10.2.0.5, 11.1.0.7, 11.2.0.1 | DBMS_SPACE_ADMIN.ASSM_SEGMENT_VERIFY does not detect certain segment header block corruption |
6647480 | 10.2.0.4.4, 10.2.0.5, 11.1.0.7.3, 11.2.0.1 | Corruption / OERI [kddummy_blkchk] .. [18021] with ASSM |
6134368 | 10.2.0.5, 11.2.0.1 | ORA-1407 / block corruption from UPDATE .. RETURNING DML with trigger – SUPERCEDED |
6057203 | 10.2.0.4, 11.1.0.7, 11.2.0.1 | Corruption with zero length column (ZLC) / OERI [kcbchg1_6] from Parallel update |
6653934 | 10.2.0.4.2, 10.2.0.5, 11.1.0.7 | Dump / block corruption from ONLINE segment shrink with ROWDEPENDENCIES |
6674196 | 10.2.0.4, 10.2.0.5, 11.1.0.6 | OERI / buffer cache corruption using ASM, OCFS or any ksfd client like ODM |
5599596 | 10.2.0.4, 11.1.0.6 | Block corruption / OERI [kddummy_blkchk] on clustered or compressed tables |
5496041 | 10.2.0.4, 11.1.0.6 | OERI[6006] / index corruption on compressed index |
5386204 | 10.2.0.4.1, 10.2.0.5, 11.1.0.6 | Block corruption / OERI[kddummy_blkchk] after direct load of ASSM segment |
5363584 | 10.2.0.4, 11.1.0.6 | Array insert into table can corrupt redo |
4602031 | 10.2.0.2, 11.1.0.6 | Block corruption from UPDATE or MERGE into compressed table |
4493447 | 11.1.0.6 | Spurious ORA-600 [kddummy_blkchk] [file#] [block#] [6145] on rollback of array update |
4329302 | 11.1.0.6 | OERI [kddummy_blkchk] [file#] [block#] [6145] on rollback of update with logminer |
6075487 | 10.2.0.4 | OERI[kddummy_blkchk]..[18020/18026] for DDL on plugged ASSM tablespace with FLASHBACK |
4054640 | 10.1.0.5, 10.2.0.1 | Block corruption / OERI [kddummy_blkchk] at physical standby |
4000840 | 10.1.0.4, 10.2.0.1, 9.2.0.7 | Update of a row with more than 255 columns can cause block corruption |
3772033 | 9.2.0.7, 10.1.0.4, 10.2.0.1 | OERI[ktspfmb_create1] creating a LOB in ASSM using 2k blocksize |