标签云
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,765)
- DB2 (22)
- MySQL (77)
- Oracle (1,606)
- 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备份恢复 (588)
- 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)
-
最近发表
- 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 19c 202504补丁(RUs+OJVM)-19.27
- Oracle Recovery Tools修复ORA-600 6101/kdxlin:psno out of range故障
分类目录归档:Oracle
Patch SCN工具一键恢复ORA-600 kcbzib_kcrsds_1
一个19c库由于某种原因redo损坏强制打开库报ORA-600 kcbzib_kcrsds_1错误
SQL> startup mount pfile='?/database/pfile.txt'; ORACLE instance started. Total System Global Area 859830696 bytes Fixed Size 9034152 bytes Variable Size 566231040 bytes Database Buffers 276824064 bytes Redo Buffers 7741440 bytes Database mounted. SQL> SQL> SQL> alter database open resetlogs ; alter database open resetlogs * ERROR at line 1: ORA-00603: ORACLE server session terminated by fatal error ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00600: internal error code, arguments: [kcbzib_kcrsds_1], [], [], [], [], [], [], [], [], [], [], [] Process ID: 7236 Session ID: 252 Serial number: 14807
alert日志报错
2023-12-07T21:27:40.176923+08:00 alter database open resetlogs upgrade 2023-12-07T21:27:40.223341+08:00 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 70591877 time .... (PID:7236): Clearing online redo logfile 1 C:\USERS\ADMINISTRATOR\DESKTOP\OCRL\REDO01.LOG .... (PID:7236): Clearing online redo logfile 2 C:\USERS\ADMINISTRATOR\DESKTOP\OCRL\REDO02.LOG .... (PID:7236): Clearing online redo logfile 3 C:\USERS\ADMINISTRATOR\DESKTOP\OCRL\REDO03.LOG Clearing online log 1 of thread 1 sequence number 0 Clearing online log 2 of thread 1 sequence number 0 Clearing online log 3 of thread 1 sequence number 0 .... (PID:7236): Clearing online redo logfile 1 complete .... (PID:7236): Clearing online redo logfile 2 complete .... (PID:7236): Clearing online redo logfile 3 complete Resetting resetlogs activation ID 1658522235 (0x62db0a7b) Online log C:\USERS\ADMINISTRATOR\DESKTOP\OCRL\REDO01.LOG: Thread 1 Group 1 was previously cleared Online log C:\USERS\ADMINISTRATOR\DESKTOP\OCRL\REDO02.LOG: Thread 1 Group 2 was previously cleared Online log C:\USERS\ADMINISTRATOR\DESKTOP\OCRL\REDO03.LOG: Thread 1 Group 3 was previously cleared 2023-12-07T21:27:40.896383+08:00 Setting recovery target incarnation to 3 2023-12-07T21:27:40.927396+08:00 Ping without log force is disabled: instance mounted in exclusive mode. Endian type of dictionary set to little 2023-12-07T21:27:40.943147+08:00 Assigning activation ID 1682724028 (0x644c54bc) 2023-12-07T21:27:40.943147+08:00 TT00 (PID:7180): Gap Manager starting 2023-12-07T21:27:40.958429+08:00 Redo log for group 1, sequence 1 is not located on DAX storage Thread 1 opened at log sequence 1 Current log# 1 seq# 1 mem# 0: C:\USERS\ADMINISTRATOR\DESKTOP\OCRL\REDO01.LOG Successful open of redo thread 1 2023-12-07T21:27:40.958429+08:00 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set stopping change tracking 2023-12-07T21:27:40.990460+08:00 TT03 (PID:1292): Sleep 5 seconds and then try to clear SRLs in 2 time(s) Errors in file C:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_7236.trc (incident=12218): ORA-00600: internal error code, arguments: [kcbzib_kcrsds_1], [], [], [], [], [], [], [], [], [], [], [] Incident details in: C:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\incident\incdir_12218\orcl_ora_7236_i12218.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. 2023-12-07T21:27:41.021109+08:00 2023-12-07T21:27:41.848773+08:00 ***************************************************************** An internal routine has requested a dump of selected redo. This usually happens following a specific internal error, when analysis of the redo logs will help Oracle Support with the diagnosis. It is recommended that you retain all the redo logs generated (by all the instances) during the past 12 hours, in case additional redo dumps are required to help with the diagnosis. ***************************************************************** 2023-12-07T21:27:42.082978+08:00 Undo initialization recovery: err:600 start: 3673703 end: 3674796 diff: 1093 ms (1.1 seconds) 2023-12-07T21:27:42.082978+08:00 Errors in file C:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_7236.trc: ORA-00600: internal error code, arguments: [kcbzib_kcrsds_1], [], [], [], [], [], [], [], [], [], [], [] 2023-12-07T21:27:42.082978+08:00 Errors in file C:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_7236.trc: ORA-00600: internal error code, arguments: [kcbzib_kcrsds_1], [], [], [], [], [], [], [], [], [], [], [] Error 600 happened during db open, shutting down database Errors in file C:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_7236.trc (incident=12219): ORA-00603: ORACLE server session terminated by fatal error ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00600: internal error code, arguments: [kcbzib_kcrsds_1], [], [], [], [], [], [], [], [], [], [], [] Incident details in: C:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\incident\incdir_12219\orcl_ora_7236_i12219.trc 2023-12-07T21:27:42.881204+08:00 opiodr aborting process unknown ospid (7236) as a result of ORA-603 2023-12-07T21:27:42.881204+08:00 ORA-603 : opitsk aborting process License high water mark = 4 USER (ospid: (prelim)): terminating the instance due to ORA error 2023-12-07T21:27:46.052894+08:00 Instance terminated by USER(prelim), pid = 7236
通过patch scn工具快速修改数据库scn
实现数据库顺利打开

数据库打patch建议设置nls_language为英文
昨晚给客户11.2.0.4打比较新的psu和ojvm patch(主要为了修复安全扫描漏洞)
结果今天早上客户那边反馈应用有报ORA-29548错

该错误比较明显应该是和java有关系,在本次变更中最大可能就是ojvm有关系,查看ojvm的postinstall.sql执行日志,发现如下问题
34 -- Check the validity of JAVAVM and let the registry be updated accordingly. 35 36 initjvmaux.validate_javavm; 37 38 -- Add a row in registry$history to indicate this script was run. 39 40 EXECUTE IMMEDIATE 'insert into registry$history 41 (action_time, action, namespace, version, id, comments) 42 values(SYSTIMESTAMP, ''jvmpsu.sql'', ''SERVER'', 43 ''11.2.0.4.221018OJVMPSU'', 0, ''RAN jvmpsu.sql'')'; 44 45 END IF; 46 47 EXECUTE IMMEDIATE 'alter system set java_jit_enabled = ' || :jitstate; 48 49 END; 50 / BEGIN * 第 1 行出现错误: ORA-01843: 无效的月份 ORA-06512: 在 line 8
查询组件有效性
SQL> select comp_name,version,status from dba_registry order by 1; COMP_NAME -------------------------------------------------------------------------------- VERSION STATUS ------------------------------ ---------------------- JServer JAVA Virtual Machine 11.2.0.4.0 INVALID OLAP Analytic Workspace 11.2.0.4.0 VALID OLAP Catalog 11.2.0.4.0 VALID COMP_NAME -------------------------------------------------------------------------------- VERSION STATUS ------------------------------ ---------------------- OWB 11.2.0.1.0 VALID Oracle Application Express 3.2.1.00.10 VALID Oracle Database Catalog Views 11.2.0.4.0 VALID COMP_NAME -------------------------------------------------------------------------------- VERSION STATUS ------------------------------ ---------------------- Oracle Database Java Packages 11.2.0.4.0 VALID Oracle Database Packages and Types 11.2.0.4.0 VALID Oracle Enterprise Manager 11.2.0.4.0 VALID COMP_NAME -------------------------------------------------------------------------------- VERSION STATUS ------------------------------ ---------------------- Oracle Expression Filter 11.2.0.4.0 VALID Oracle Multimedia 11.2.0.4.0 VALID Oracle OLAP API 11.2.0.4.0 VALID COMP_NAME -------------------------------------------------------------------------------- VERSION STATUS ------------------------------ ---------------------- Oracle Rules Manager 11.2.0.4.0 VALID Oracle Text 11.2.0.4.0 VALID Oracle Workspace Manager 11.2.0.4.0 VALID COMP_NAME -------------------------------------------------------------------------------- VERSION STATUS ------------------------------ ---------------------- Oracle XDK 11.2.0.4.0 VALID Oracle XML Database 11.2.0.4.0 VALID Spatial 11.2.0.4.0 VALID 已选择18行。
确认JServer JAVA Virtual Machine组件无效,很可能是ojvm的postinstall.sql执行失败有关系,而引起这个失败的原因是由于“ORA-01843: 无效的月份”,根据经验,引起这个问题的可能是由于win汉语环境中日期/时间的显示格式导致
SQL> select sysdate from dual; SYSDATE -------------- 03-12月-23
设置为英文格式显示
SQL> alter session set nls_language='American'; Session altered. SQL> select sysdate from dual; SYSDATE ------------ 03-DEC-23
重新执行postdeinstall和postinstall脚本之后,组件状态恢复正常,软件功能也恢复正常
SQL> select comp_name,version,status from dba_registry order by 1; JServer JAVA Virtual Machine 11.2.0.4.0 VALID OLAP Analytic Workspace 11.2.0.4.0 VALID OLAP Catalog 11.2.0.4.0 VALID OWB 11.2.0.1.0 VALID Oracle Application Express 3.2.1.00.10 VALID Oracle Database Catalog Views 11.2.0.4.0 VALID Oracle Database Java Packages 11.2.0.4.0 VALID Oracle Database Packages and Types 11.2.0.4.0 VALID Oracle Enterprise Manager 11.2.0.4.0 VALID Oracle Expression Filter 11.2.0.4.0 VALID Oracle Multimedia 11.2.0.4.0 VALID Oracle OLAP API 11.2.0.4.0 VALID Oracle Rules Manager 11.2.0.4.0 VALID Oracle Text 11.2.0.4.0 VALID Oracle Workspace Manager 11.2.0.4.0 VALID Oracle XDK 11.2.0.4.0 VALID Oracle XML Database 11.2.0.4.0 VALID Spatial 11.2.0.4.0 VALID 18 rows selected.
自此提醒由于oracle 环境语言默认显示的问题导致某些patch不能正常打成功,建议在执行数据库patch或者升级之时,把数据库语言环境调整为英文nls_language=’American’,以避免本次出现的不必要的麻烦(以前由于大部分客户没有是使用jvm这个功能组件因此没有暴露该问题)
DBV-00107: Unknown header format 故障处理
客户linux平台被勒索病毒加密,其中有oracle数据库.客户联系黑客进行解密【勒索解密oracle失败】,但是数据库无法正常启动,dbv检查数据库文件报错
[oracle@hisdb ~]$ dbv file=system01.dbf DBVERIFY: Release 11.2.0.1.0 - Production on 星期一 11月 27 21:49:17 2023 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. DBV-00107: 未知标头格式 (31) (287942924)
对应的英文为:DBV-00107: Unknown header format (31) (287942924),检查数据文件信息发现提示为 FILE NOT FOUND,使用脚本为:Oracle数据库异常恢复检查脚本(Oracle Database Recovery Check)检测结果
通过分区确认是文件头损坏

修复正确的文件头

再次dbv检查数据文件
[oracle@hisdb ~]$ dbv file=system01.dbf DBVERIFY: Release 11.2.0.1.0 - Production on 星期一 11月 27 22:05:41 2023 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. DBVERIFY - 开始验证: FILE = /u01/app/oracle/oradata/system01.dbf 页 12800 标记为损坏 Corrupt block relative dba: 0x00403200 (file 1, block 12800) Bad header found during dbv: Data in bad block: type: 88 format: 1 rdba: 0x33877808 last change scn: 0x257a.7b3a44e3 seq: 0xe8 flg: 0xe6 spare1: 0x4e spare2: 0x73 spare3: 0x0 consistency value in tail: 0x65251001 check value in block header: 0xc3b4 computed block checksum: 0x4ca7 DBVERIFY - 验证完成 检查的页总数: 13440 处理的页总数 (数据): 3297 失败的页总数 (数据): 0 处理的页总数 (索引): 2097 失败的页总数 (索引): 0 处理的页总数 (其他): 1441 处理的总页数 (段) : 1 失败的总页数 (段) : 0 空的页总数: 6604 标记为损坏的总页数: 1 流入的页总数: 0 加密的总页数 : 0 最高块 SCN : 1667927064 (12.1667927064)
修复其他文件头,并dbv检查,发现均在12800位置损坏.尝试recover database恢复数据库,报ORA-00742 ORA-00312之类错误.【由于redo损坏,报出来数据文件更多坏块】
Sat Nov 25 17:03:39 2023 ALTER DATABASE RECOVER database Media Recovery Start started logmerger process Parallel Media Recovery started with 40 slaves Sat Nov 25 17:03:40 2023 Recovery of Online Redo Log: Thread 1 Group 7 Seq 27220 Reading mem 0 Mem# 0: /u01/app/oracle/oradata/redo07.log Sat Nov 25 17:03:41 2023 Hex dump of (file 3, block 7) in trace file /u01/app/oracle/diag/rdbms/his/his/trace/his_pr0l_52669.trc Corrupt block relative dba: 0x00c00007 (file 3, block 7) Bad header found during media recovery Data in bad block: type: 124 format: 7 rdba: 0x1698b845 last change scn: 0x4fa1.3eaa638f seq: 0x6 flg: 0x24 spare1: 0x26 spare2: 0x42 spare3: 0x0 consistency value in tail: 0xa39e1e01 check value in block header: 0x2ca4 computed block checksum: 0x3b25 Reading datafile '/u01/app/oracle/oradata/undotbs01.dbf' for corruption at rdba: 0x00c00007 (file 3, block 7) Reread (file 3, block 7) found same corrupt data (no logical check) Sat Nov 25 17:03:41 2023 Hex dump of (file 46, block 3) in trace file /u01/app/oracle/diag/rdbms/his/his/trace/his_pr0w_52691.trc Corrupt block relative dba: 0x0b800003 (file 46, block 3) Bad header found during media recovery Data in bad block: type: 7 format: 7 rdba: 0x77922022 last change scn: 0xdff3.c40df5b6 seq: 0x6f flg: 0xe5 spare1: 0xcd spare2: 0x6d spare3: 0x83d7 consistency value in tail: 0x63c63d2c check value in block header: 0xf662 computed block checksum: 0xec49 Data in bad block: type: 135 format: 4 rdba: 0x45ad2864 last change scn: 0x9d7e.34949c73 seq: 0x32 flg: 0x3e spare1: 0x89 spare2: 0x0 spare3: 0x9f9f consistency value in tail: 0xa5807800 check value in block header: 0xb2c9 computed block checksum: 0x3aea Reread (file 5, block 11259) found same corrupt data (no logical check) type: 214 format: 1 rdba: 0x0228dbe9 Bad header found during media recovery last change scn: 0xed57.ca4f7559 seq: 0x9b flg: 0x4a Data in bad block: spare1: 0x97 spare2: 0x77 spare3: 0x2bab type: 33 format: 6 rdba: 0x018d584a consistency value in tail: 0x359f90d6 last change scn: 0xaeb8.2fa361eb seq: 0x60 flg: 0x92 check value in block header: 0x6b26 spare1: 0xea spare2: 0xe spare3: 0xb405 block checksum disabled Reread (file 3, block 4) found same corrupt data (no logical check) Corrupt block relative dba: 0x0b800e61 (file 46, block 3681) Bad header found during media recovery Data in bad block: type: 131 format: 6 rdba: 0xc7edd0fc last change scn: 0xd319.d0e54941 seq: 0x6f flg: 0x6d spare1: 0xe7 spare2: 0x82 spare3: 0x439f consistency value in tail: 0x18dc47b6 check value in block header: 0xe9c8 computed block checksum: 0x204d Reread (file 46, block 3681) found same corrupt data (no logical check) Hex dump of (file 1, block 2017) in trace file /u01/app/oracle/diag/rdbms/his/his/trace/his_pr10_52699.trc Corrupt block relative dba: 0x004007e1 (file 1, block 2017) Bad header found during media recovery Data in bad block: type: 159 format: 2 rdba: 0x52c5b2b0 last change scn: 0x2ed8.e0bc5af9 seq: 0x62 flg: 0xe9 spare1: 0x81 spare2: 0x1e spare3: 0xda98 consistency value in tail: 0xc5753dd3 check value in block header: 0x2bba block checksum disabled Reading datafile '/u01/app/oracle/oradata/system01.dbf' for corruption at rdba: 0x004007e1 (file 1, block 2017) Reread (file 1, block 2017) found same corrupt data (no logical check) Media Recovery failed with error 742 Errors in file /u01/app/oracle/diag/rdbms/his/his/trace/his_pr00_52622.trc: ORA-00283: recovery session canceled due to errors ORA-00742: Log read detects lost write in thread %d sequence %d block %d ORA-00312: online log 7 thread 1: '/u01/app/oracle/oradata/redo07.log' ORA-10877 signalled during: ALTER DATABASE RECOVER database ...
尝试强制打开数据库报ORA-600 krsi_al_hdr_update.15,参考:Oracle断电故障处理中有类似报错
SQL> alter database open resetlogs; alter database open resetlogs * ERROR at line 1: ORA-00600: internal error code, arguments: [krsi_al_hdr_update.15], [4294967295], [], [], [], [], [], [], [], [], [], []
由于redo问题无法resetlogs成功,解决异常redo,再次尝试open库,由于undo坏块无法open成功,报ORA-01092 ORA-01578等错误
SQL> alter database open resetlogs; alter database open resetlogs * ERROR at line 1: ORA-01092: ORACLE instance terminated. Disconnection forced ORA-01578: ORACLE data block corrupted (file # 3, block # 1848) ORA-01110: data file 3: '/u01/app/oracle/oradata/undotbs01.dbf' Process ID: 55655 Session ID: 2623 Serial number: 5
解决undo异常,数据库open成功.导出客户需要数据,完成此次恢复工作