标签云
asm恢复 bbed bootstrap$ dul kcbzib_kcrsds_1 kccpb_sanity_check_2 kcratr_nab_less_than_odr kgegpa MySQL恢复 ORA-00312 ORA-00704 ORA-00742 ORA-01110 ORA-01190 ORA-01200 ORA-01555 ORA-01578 ORA-01595 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)
- 操作系统 (106)
- 数据库 (1,801)
- DB2 (22)
- MySQL (79)
- Oracle (1,637)
- Data Guard (53)
- 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备份恢复 (611)
- Oracle安装升级 (101)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (86)
- PostgreSQL (33)
- pdu工具 (7)
- PostgreSQL恢复 (11)
- SQL Server (32)
- SQL Server恢复 (13)
- TimesTen (7)
- 达梦数据库 (3)
- 达梦恢复 (1)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (42)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (25)
-
最近发表
- Oracle数据块编辑工具( Oracle Block Editor Tool)-obet
- Oracle坏块修复工具:Patch_blk
- ORA-01172 ORA-01151故障处理
- C_OBJ#_INTCOL#坏块导致数据库无法open故障处理
- ORA-600 kkkicreatecgmap:!efn3
- Oracle 19c 202510补丁(RUs+OJVM)-19.29
- 记录一次raid恢复之后数据库故障处理(ora-01200,ORA-26101,ORA-600)
- nbu备份文件img格式直接rman恢复
- ORA-600 kokasgi1故障处理(sys被重命名)
- Patch_SCN for Linux 功能完善
- ORA-600 2662错误处理-202510
- system表空间丢失部分文件恢复
- arm环境vg损坏mysql数据库恢复
- redhat系列7/8进入单用户模式
- Failed to open \EFI\redhat\grubx64.efi – Not Found 故障处理
- 11.2.0.4升级到19c详细操作过程
- Postgres数据库truncate表无有效备份恢复
- 一次幸运的ORA-07445 kdxlin故障恢复
- ORA-704 ORA-604 ORA-1426故障分析处理
- ORA-600 4194引起SMON encountered 100 out of maximum 100 non-fatal internal errors故障
标签归档:kcratr_scan_lastbwr
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丢失.这次运气比较好,如果是表数据异常,可能会麻烦一点,但是也可以最大限度恢复(肯定比强制拉库,或者修改文件头的方式效果好)
发表在 非常规恢复
标签为 kcratr_scan_lastbwr, ORA-00756, ORA-00756 ORA-10567, ORA-10567, ORA-600 kcratr_scan_lastbwr
评论关闭
数据库open报ORA-600 kcratr_scan_lastbwr故障处理
由于断电,导致数据库正常open报ORA-600 kcratr_scan_lastbwr错误
Wed Jan 17 18:23:26 2024 ALTER DATABASE MOUNT Successful mount of redo thread 1, with mount id 1028618590 Database mounted in Exclusive Mode Lost write protection disabled Completed: ALTER DATABASE MOUNT Wed Jan 17 18:23:30 2024 ALTER DATABASE OPEN Beginning crash recovery of 1 threads parallel recovery started with 32 processes Started redo scan Hex dump of (file 3, block 144) in trace file /database/oracle/app/oracle/diag/rdbms/xff/xff/trace/xff_ora_66361.trc Reading datafile '/database/oracle/app/oracle/oradata/xff/datafile/o1_mf_undotbs1_hct7001s_.dbf' for corruption at rdba: 0x00c00090 (file 3, block 144) Reread (file 3, block 144) found same corrupt data (logically corrupt) Write verification failed for File 3 Block 144 (rdba 0xc00090) Errors in file /database/oracle/app/oracle/diag/rdbms/xff/xff/trace/xff_ora_66361.trc (incident=672241): ORA-00600: internal error code, arguments: [kcratr_scan_lastbwr], [], [], [], [], [] Incident details in: /database/oracle/app/oracle/diag/rdbms/xff/xff/incident/incdir_672241/xff_ora_66361_i672241.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Aborting crash recovery due to error 600 Errors in file /database/oracle/app/oracle/diag/rdbms/xff/xff/trace/xff_ora_66361.trc: ORA-00600: internal error code, arguments: [kcratr_scan_lastbwr], [], [], [], [], [] Errors in file /database/oracle/app/oracle/diag/rdbms/xff/xff/trace/xff_ora_66361.trc: ORA-00600: internal error code, arguments: [kcratr_scan_lastbwr], [], [], [], [], [] ORA-600 signalled during: ALTER DATABASE OPEN...
尝试recover 数据库报ORA-600 3020错误
Wed Jan 17 18:28:38 2024 ALTER DATABASE RECOVER database Media Recovery Start started logmerger process Parallel Media Recovery started with 96 slaves Wed Jan 17 18:28:41 2024 Recovery of Online Redo Log: Thread 1 Group 2 Seq 410864 Reading mem 0 Mem# 0: /database/oracle/app/oracle/oradata/xff/onlinelog/o1_mf_2_hct740hq_.log Wed Jan 17 18:28:42 2024 ORA-00600: internal error code, arguments: [3020], [3], [240], [12583152], [], [] ORA-10567: Redo is inconsistent with data block (file# 3, block# 240, file offset is 1966080 bytes) ORA-10564: tablespace UNDOTBS1 ORA-01110: data file 3: '/database/oracle/app/oracle/oradata/xff/datafile/o1_mf_undotbs1_hct7001s_.dbf' ORA-10560: block type 'KTU SMU HEADER BLOCK' Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Slave exiting with ORA-600 exception Errors in file /database/oracle/app/oracle/diag/rdbms/xff/xff/trace/xff_pr19_68212.trc: ORA-00600: internal error code, arguments: [3020], [3], [240], [12583152], [], [] ORA-10567: Redo is inconsistent with data block (file# 3, block# 240, file offset is 1966080 bytes) ORA-10564: tablespace UNDOTBS1 ORA-01110: data file 3: '/database/oracle/app/oracle/oradata/xff/datafile/o1_mf_undotbs1_hct7001s_.dbf' ORA-10560: block type 'KTU SMU HEADER BLOCK' Errors in file /database/oracle/app/oracle/diag/rdbms/xff/xff/trace/xff_ora_68038.trc (incident=672243): ORA-00600: internal error code, arguments: [3020], [3], [240], [12583152], [], [] ORA-10567: Redo is inconsistent with data block (file# 3, block# 240, file offset is 1966080 bytes) ORA-10564: tablespace UNDOTBS1 ORA-01110: data file 3: '/database/oracle/app/oracle/oradata/xff/datafile/o1_mf_undotbs1_hct7001s_.dbf' ORA-10560: block type 'KTU SMU HEADER BLOCK' Wed Jan 17 18:28:43 2024 Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Recovery Slave PR19 previously exited with exception 600 Wed Jan 17 18:28:43 2024 Sweep [inc][672865]: completed Media Recovery failed with error 448 Errors in file /database/oracle/app/oracle/diag/rdbms/xff/xff/trace/xff_pr00_68115.trc: ORA-00283: recovery session canceled due to errors ORA-00448: normal completion of background process ORA-600 signalled during: ALTER DATABASE RECOVER database ...
加上隐含参数尝试强制拉库
alter database open resetlogs RESETLOGS is being done without consistancy checks. This may result in a corrupted database. The database should be recreated. RESETLOGS after incomplete recovery UNTIL CHANGE 6165467436 Clearing online redo logfile 1 /database/oracle/app/oracle/oradata/xff/onlinelog/o1_mf_1_hct740fp_.log Clearing online log 1 of thread 1 sequence number 0 Clearing online redo logfile 1 complete Clearing online redo logfile 2 /database/oracle/app/oracle/oradata/xff/onlinelog/o1_mf_2_hct740hq_.log Clearing online log 2 of thread 1 sequence number 0 Clearing online redo logfile 2 complete Clearing online redo logfile 3 /database/oracle/app/oracle/oradata/xff/onlinelog/o1_mf_3_hct740k7_.log Clearing online log 3 of thread 1 sequence number 0 Clearing online redo logfile 3 complete Online log /database/oracle/app/oracle/oradata/xff/onlinelog/o1_mf_1_hct740fp_.log: Thread 1 Group 1 was previously cleared Online log /database/oracle/app/oracle/oradata/xff/onlinelog/o1_mf_2_hct740hq_.log: Thread 1 Group 2 was previously cleared Online log /database/oracle/app/oracle/oradata/xff/onlinelog/o1_mf_3_hct740k7_.log: Thread 1 Group 3 was previously cleared Fri Jan 19 09:24:59 2024 Setting recovery target incarnation to 2 Initializing SCN for created control file Database SCN compatibility initialized to 3 Warning - High Database SCN: Current SCN value is 6165467439, threshold SCN value is 0 If you have not previously reported this warning on this database, please notify Oracle Support so that additional diagnosis can be performed. Fri Jan 19 09:24:59 2024 Assigning activation ID 1028784413 (0x3d52011d) Thread 1 opened at log sequence 1 Current log# 1 seq# 1 mem# 0: /database/oracle/app/oracle/oradata/xff/onlinelog/o1_mf_1_hct740fp_.log Successful open of redo thread 1 Fri Jan 19 09:24:59 2024 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Fri Jan 19 09:24:59 2024 SMON: enabling cache recovery Errors in file /database/oracle/app/oracle/diag/rdbms/xff/xff/trace/xff_ora_84860.trc (incident=1344255): ORA-00600: internal error code, arguments: [2662], [1], [1870500147], [1], [1870515285], [12583040] Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Errors in file /database/oracle/app/oracle/diag/rdbms/xff/xff/trace/xff_ora_84860.trc: ORA-00600: internal error code, arguments: [2662], [1], [1870500147], [1], [1870515285], [12583040] Errors in file /database/oracle/app/oracle/diag/rdbms/xff/xff/trace/xff_ora_84860.trc: ORA-00600: internal error code, arguments: [2662], [1], [1870500147], [1], [1870515285], [12583040] Error 600 happened during db open, shutting down database USER (ospid: 84860): terminating the instance due to error 600 Instance terminated by USER, pid = 84860 ORA-1092 signalled during: alter database open resetlogs...
客户自行恢复到这一步,后面无法处理,接手之后进行恢复,其实后面比较简单了,就是修改下数据库scn,数据库就可以open起来,然后处理异常的undo和对象即可,可以参考以前类似文章:
ORA-600 2662快速恢复之Patch scn工具
硬件故障导致ORA-600 2662错误处理
ORA-00600 [2662]和ORA-00600 [4194]恢复
更多参考:惜分飞blog中ORA-600 2662文章
发表在 Oracle备份恢复
标签为 kcratr_scan_lastbwr, ORA-600 2662, ORA-600 3020, ORA-600 kcratr_scan_lastbwr
评论关闭
ora-600 kcratr_scan_lastbwr
有客户数据库由于断电,导致启动报错ora-600 kcratr_scan_lastbwr错误
SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production PL/SQL Release 11.2.0.3.0 - Production CORE 11.2.0.3.0 Production TNS for Linux: Version 11.2.0.3.0 - Production NLSRTL Version 11.2.0.3.0 - Production
alter database open Beginning crash recovery of 1 threads parallel recovery started with 15 processes Started redo scan Hex dump of (file 4, block 3952129) in trace file D:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_4500.trc Reading datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF' for corruption at rdba:0x013c4e01(file 4,block 3952129) Reread (file 4, block 3952129) found same corrupt data (logically corrupt) Write verification failed for File 4 Block 3952129 (rdba 0x13c4e01) Fri Feb 18 10:16:34 2022 Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_4500.trc (incident=388961): ORA-00600: ??????, ??: [kcratr_scan_lastbwr], [], [], [], [], [], [], [], [], [], [], [] Incident details in:D:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\incident\incdir_388961\orcl_ora_4500_i388961.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Aborting crash recovery due to error 600 Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_4500.trc: ORA-00600: ??????, ??: [kcratr_scan_lastbwr], [], [], [], [], [], [], [], [], [], [], [] Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_4500.trc: ORA-00600: ??????, ??: [kcratr_scan_lastbwr], [], [], [], [], [], [], [], [], [], [], [] ORA-600 signalled during: alter database open...
根据MOS中的描述,这个问题主要出现在11.2.0.2之前版本中,但是本case发生在11.2.0.3的数据库中

ORA-600 [kcratr_scan_lastbwr] (Doc ID 1267231.1)描述,recover操作,数据库直接open,实现数据0丢失

加我QQ(107644445)
