标签云
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-600 kcffo_online_pdb_check: fno_system 和 ORA-600 kcvfdb_pdb_set_clean_scn: cleanckpt错误
在做18c模拟故障测试中,经过自己一系列折腾,主要遭遇了ORA-600 kcffo_online_pdb_check: fno_system 和 ORA-600 kcvfdb_pdb_set_clean_scn: cleanckpt错误,这些都是pdb特有的,主要是由于一些bug引起,在非pdb环境中不太可能遇到.其实这也就是说明由于pdb机制的引入,使得后续的数据库异常恢复中会更加复杂.
18c数据库open ORA-00603 ORA-01092 ORA-00600报错
[oracle@ora11g tmp]$ ss SQL*Plus: Release 18.0.0.0.0 - Production on Sat Apr 20 21:18:09 2019 Version 18.3.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.3.0.0.0 SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- BANNER_FULL -------------------------------------------------------------------------------- BANNER_LEGACY -------------------------------------------------------------------------------- CON_ID ---------- Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.3.0.0.0 Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production 0 BANNER -------------------------------------------------------------------------------- BANNER_FULL -------------------------------------------------------------------------------- BANNER_LEGACY -------------------------------------------------------------------------------- CON_ID ---------- SQL> alter database open; alter database open * 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: [], [], [], [], [], [], [], [], [], [], [], [] Process ID: 55775 Session ID: 135 Serial number: 49652
alert日志信息
Database Characterset is AL32UTF8 2019-04-20T18:20:54.256841+08:00 No Resource Manager plan active 2019-04-20T18:20:56.751241+08:00 replication_dependency_tracking turned off (no async multimaster replication found) 2019-04-20T18:20:57.862516+08:00 Starting background process AQPC 2019-04-20T18:20:58.341991+08:00 AQPC started with pid=45, OS id=55830 2019-04-20T18:21:01.476252+08:00 PDB$SEED(2):Autotune of undo retention is turned on. 2019-04-20T18:21:01.738732+08:00 Pdb PDB$SEED hit error 1157 during open read only (2) and will be closed. 2019-04-20T18:21:01.755310+08:00 Errors in file /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/trace/orcl18c_ora_55775.trc: ORA-01157: cannot identify/lock data file 5 - see DBWR trace file ORA-01110: data file 5: '/u01/app/oracle/oradata/ORCL18C/pdbseed/system01.dbf' PDB$SEED(2):JIT: pid 55775 requesting stop PDB$SEED(2):Buffer Cache flush deferred for PDB 2 Could not open PDB$SEED error=1157 2019-04-20T18:21:01.887601+08:00 Errors in file /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/trace/orcl18c_ora_55775.trc: ORA-01157: cannot identify/lock data file 5 - see DBWR trace file ORA-01110: data file 5: '/u01/app/oracle/oradata/ORCL18C/pdbseed/system01.dbf' 2019-04-20T18:21:03.385503+08:00 PDB1(3):Autotune of undo retention is turned on. Errors in file /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/trace/orcl18c_p000_55808.trc (incident=66865) (PDBNAME=CDB$ROOT): ORA-00600: internal error code, arguments: [kcffo_online_pdb_check: fno_system], [3], [], [], [], [], [], [], [], [], [], [] 2019-04-20T18:21:03.682428+08:00 PDB2(4):Autotune of undo retention is turned on. Incident details in: /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/incident/incdir_66865/orcl18c_p000_55808_i66865.trc 2019-04-20T18:21:12.863880+08:00 Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. 2019-04-20T18:21:12.879921+08:00 Pdb PDB1 hit error 600 during open read write (5) and will be closed. 2019-04-20T18:21:12.880506+08:00 Errors in file /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/trace/orcl18c_p000_55808.trc: ORA-00600: internal error code, arguments: [kcffo_online_pdb_check: fno_system], [3], [], [], [], [], [], [], [], [], [], [] PDB1(3):JIT: pid 55808 requesting stop 2019-04-20T18:21:12.915407+08:00 Dumping diagnostic data in directory=[cdmp_20190420182112], requested by (instance=1, osid=55808 (P000)), summary=[incident=66865]. 2019-04-20T18:21:12.989890+08:00 PDB1(3):Buffer Cache flush deferred for PDB 3 2019-04-20T18:21:13.004575+08:00 Errors in file /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/trace/orcl18c_p001_55810.trc (incident=66873) (PDBNAME=CDB$ROOT): ORA-00600: internal error code, arguments: [kcffo_online_pdb_check: fno_system], [4], [], [], [], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/incident/incdir_66873/orcl18c_p001_55810_i66873.trc 2019-04-20T18:21:17.218642+08:00 Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. 2019-04-20T18:21:17.222057+08:00 Pdb PDB2 hit error 600 during open read write (5) and will be closed. 2019-04-20T18:21:17.222236+08:00 Errors in file /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/trace/orcl18c_p001_55810.trc: ORA-00600: internal error code, arguments: [kcffo_online_pdb_check: fno_system], [4], [], [], [], [], [], [], [], [], [], [] 2019-04-20T18:21:17.260941+08:00 Dumping diagnostic data in directory=[cdmp_20190420182117], requested by (instance=1, osid=55810 (P001)), summary=[incident=66873]. 2019-04-20T18:21:17.262023+08:00 PDB2(4):JIT: pid 55810 requesting stop PDB2(4):Buffer Cache flush deferred for PDB 4 2019-04-20T18:21:17.352939+08:00 Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. 2019-04-20T18:21:17.483695+08:00 Errors in file /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/trace/orcl18c_ora_55775.trc (incident=66857) (PDBNAME=CDB$ROOT): ORA-00600: internal error code, arguments: [kcffo_online_pdb_check: fno_system], [3], [], [], [], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/incident/incdir_66857/orcl18c_ora_55775_i66857.trc 2019-04-20T18:21:22.612339+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. ***************************************************************** 2019-04-20T18:21:26.062635+08:00 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 /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/trace/orcl18c_ora_55775.trc (incident=66858) (PDBNAME=CDB$ROOT): ORA-00600: internal error code, arguments: [], [], [], [], [], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/incident/incdir_66858/orcl18c_ora_55775_i66858.trc 2019-04-20T18:21:26.506644+08:00 Dumping diagnostic data in directory=[cdmp_20190420182126], requested by (instance=1, osid=55775), summary=[incident=66857]. 2019-04-20T18:21:30.119381+08:00 Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. 2019-04-20T18:21:30.119505+08:00 Errors in file /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/trace/orcl18c_ora_55775.trc: ORA-00600: internal error code, arguments: [], [], [], [], [], [], [], [], [], [], [], [] 2019-04-20T18:21:30.119629+08:00 Errors in file /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/trace/orcl18c_ora_55775.trc: ORA-00600: internal error code, arguments: [], [], [], [], [], [], [], [], [], [], [], [] 2019-04-20T18:21:30.119719+08:00 Error 600 happened during db open, shutting down database Errors in file /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/trace/orcl18c_ora_55775.trc (incident=66859) (PDBNAME=CDB$ROOT): ORA-00603: ORACLE server session terminated by fatal error ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00600: internal error code, arguments: [], [], [], [], [], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/incident/incdir_66859/orcl18c_ora_55775_i66859.trc 2019-04-20T18:21:30.346811+08:00 Dumping diagnostic data in directory=[cdmp_20190420182130], requested by (instance=1, osid=55775), summary=[incident=66858]. 2019-04-20T18:21:34.551418+08:00 opiodr aborting process unknown ospid (55775) as a result of ORA-603 2019-04-20T18:21:34.720885+08:00 ORA-603 : opitsk aborting process License high water mark = 4 2019-04-20T18:21:34.754766+08:00 USER (ospid: 55775): terminating the instance due to ORA error 600 2019-04-20T18:21:35.839992+08:00 Instance terminated by USER, pid = 55775
alert日志提示文件不存在,实际上文件是存在的
[root@ora11g ~]# [root@ora11g ~]# ls -l /u01/app/oracle/oradata/ORCL18C/pdbseed/system01.dbf -rw-r-----. 1 oracle oinstall 283123712 4月 13 23:59 /u01/app/oracle/oradata/ORCL18C/pdbseed/system01.dbf
主要错误是ORA-600 kcffo_online_pdb_check: fno_system 查询mos发现主要是由于数据库bug导致,查询mos发现不少bug
官方解释,主要是由于kcffo_online_pdb函数执行异常导致
Function kcffo_online_pdb_check Check if it ok to online the files in a pluggable database. An error is signalled if it is not ok. This routine will grab a file enqueue for the relevant files and save it in the NULL-terminated array fenqsp. The caller must release these after kcffo_online_pdb() or if an error occurs.
通过人工修改文件状态,绕过该错误,cdb数据库open成功,但是pdb依旧无法正常open
SQL> alter database open; Database altered. SQL> alter session set container=PDB1; Session altered. SQL> alter database open; alter database open * ERROR at line 1: ORA-00600: internal error code, arguments: [kcvfdb_pdb_set_clean_scn: cleanckpt], [3], [1739494], [38655308813], [2], [], [], [], [], [], [], []
alert日志
PDB1(3):alter database open PDB1(3):Autotune of undo retention is turned on. Errors in file /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/trace/orcl18c_ora_56178.trc (incident=69185) (PDBNAME=CDB$ROOT): ORA-00600: internal error code, arguments: [kcvfdb_pdb_set_clean_scn: cleanckpt], [3], [1739494], [38655308813], [2], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/incident/incdir_69185/orcl18c_ora_56178_i69185.trc 2019-04-20T18:31:41.761479+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. ***************************************************************** 2019-04-20T18:31:42.097465+08:00 Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Pdb PDB1 hit error 600 during open read write (1) and will be closed. 2019-04-20T18:31:42.097847+08:00 Errors in file /u01/app/oracle/diag/rdbms/orcl18c/orcl18c/trace/orcl18c_ora_56178.trc: ORA-00600: internal error code, arguments: [kcvfdb_pdb_set_clean_scn: cleanckpt], [3], [1739494], [38655308813], [2], [], [], [], [], [], [], [] PDB1(3):JIT: pid 56178 requesting stop 2019-04-20T18:31:42.098808+08:00 Dumping diagnostic data in directory=[cdmp_20190420183142], requested by (instance=1, osid=56178), summary=[incident=69185]. 2019-04-20T18:31:42.138818+08:00 PDB1(3):Buffer Cache flush deferred for PDB 3 PDB1(3):ORA-600 signalled during: alter database open...
主要错误是ORA-600 kcvfdb_pdb_set_clean_scn: cleanckpt,通过查询mos,依旧发现mos上有的主要可能的bug
通过人工修改数据文件的checkpoint scn解决该问题,pdb open成功
tab$被恶意删除sys用户之外记录
数据库open成功,但是alert日志报大量ORA-00600错误
Sun Apr 14 14:30:46 2019 SMCO started with pid=53, OS id=6761 Completed: ALTER DATABASE OPEN /* db agent *//* {1:65047:2} */ Sun Apr 14 14:30:49 2019 Starting background process CJQ0 Sun Apr 14 14:30:49 2019 CJQ0 started with pid=54, OS id=6776 Setting Resource Manager plan SCHEDULER[0x32DF]:DEFAULT_MAINTENANCE_PLAN via scheduler window Setting Resource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter Sun Apr 14 14:30:52 2019 Starting background process VKRM Sun Apr 14 14:30:52 2019 VKRM started with pid=37, OS id=6809 Sun Apr 14 14:30:54 2019 Errors in file /oracle/oracle/oracle/diag/rdbms/xifenfei/xifenfei1/trace/xifenfei1_j000_6811.trc (incident=288633): ORA-00600: internal error code, arguments: [kkpo_rcinfo_defstg:delseg], [84638], [], [], [], [], [], [], [], [], [], [] Incident details in: /oracle/oracle/oracle/diag/rdbms/xifenfei/xifenfei1/incident/incdir_288633/xifenfei1_j000_6811_i288633.trc 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 /oracle/oracle/oracle/diag/rdbms/xifenfei/xifenfei1/trace/xifenfei1_j000_6811.trc: ORA-00600: internal error code, arguments: [kkpo_rcinfo_defstg:delseg], [84638], [], [], [], [], [], [], [], [], [], [] ORA-06512: at "APEX_030200.WWV_FLOW_MAIL", line 695 ORA-06512: at line 1 Sun Apr 14 14:30:57 2019 Errors in file /oracle/oracle/oracle/diag/rdbms/xifenfei/xifenfei1/trace/xifenfei1_j000_7491.trc (incident=288658): ORA-00600: 内部错误代码, 参数: [16659], [kqldtu], [INS], [0], [206196], [], [], [], [], [], [], [] Incident details in: /oracle/oracle/oracle/diag/rdbms/xifenfei/xifenfei1/incident/incdir_288658/xifenfei1_j000_7491_i288658.trc Sun Apr 14 14:34:10 2019 Dumping diagnostic data in directory=[cdmp_20190414143410], requested by (instance=1, osid=7491 (J000)), summary=[incident=288658]. 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 /oracle/oracle/oracle/diag/rdbms/xifenfei/xifenfei1/trace/xifenfei1_j000_7491.trc: ORA-00600: 内部错误代码, 参数: [16659], [kqldtu], [INS], [0], [206196], [], [], [], [], [], [], [] ORA-06512: 在 "WEBCSMS.P_YGERROR", line 3 Sun Apr 14 14:39:08 2019 Errors in file /oracle/oracle/oracle/diag/rdbms/xifenfei/xifenfei1/trace/xifenfei1_j000_8515.trc (incident=288593): ORA-00600: 内部错误代码, 参数: [kdfReserveSingle_1], [0], [65280], [], [], [], [], [], [], [], [], [] Incident details in: /oracle/oracle/oracle/diag/rdbms/xifenfei/xifenfei1/incident/incdir_288593/xifenfei1_j000_8515_i288593.trc ORA-06512: 在 line 1 Sun Apr 14 14:52:14 2019 Errors in file /oracle/oracle/oracle/diag/rdbms/xifenfei/xifenfei1/trace/xifenfei1_j001_11062.trc (incident=288705): ORA-00600: internal error code, arguments: [16607], [0x3CFB04C90], [257], [9], [0x000000000], [], [], [], [], [], [], [] Incident details in: /oracle/oracle/oracle/diag/rdbms/xifenfei/xifenfei1/incident/incdir_288705/xifenfei1_j001_11062_i288705.trc Errors in file /oracle/oracle/oracle/diag/rdbms/xifenfei/xifenfei1/trace/xifenfei1_ora_16712.trc (incident=288597): ORA-00600: 内部错误代码, 参数: [16607], [0x3C7CEA678], [1281], [9], [0x000000000], [], [], [], [], [], [], [] Incident details in: /oracle/oracle/oracle/diag/rdbms/xifenfei/xifenfei1/incident/incdir_288597/xifenfei1_ora_16712_i288597.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details.
报错比较多,客户还反馈登录数据库之后,发现所有的表都丢失。第一反应可能数据字典损坏了,然后让客户查看备库,现在dg的备库也一样表都丢失了,进一步确认字典可能异常,让客户提供system文件进行本地分析.发现DBMS_SUPPORT_DBMONITOR触发器调用DBMS_SUPPORT_DBMONITORP存储过程,和警告:互联网中有oracle介质被注入恶意程序导致—ORA-600 16703中的名称非常类似,但是有点不一样,以前的恶意脚本中都是被注入并且触发之后,数据库无法正常启动,这次数据库能够正常open成功.分析恶意脚本,确认原因
确实这次的恶意脚本是在2016年8月份被创建在库中,在600天之后重启被触发,而且是删除非sys的tab$中记录.知道了恶意脚本的源头,那恢复就比较容易,直接通过批量bbed程序对tab$反删除可以实现比较完美恢复.原则上这样的故障可以实现数据库完美恢复,原库继续使用.
ORACLE Instance XFF (pid = 18) – Error 600 encountered while recovering transaction
分享一次由于一个表异常导致数据库报类似:ORACLE Instance XFF (pid = 18) – Error 600 encountered while recovering transaction故障的案例
一个10.2.0.4的数据库,正常运行的库突然出现如下错误
Sun Apr 07 11:07:12 2019 Thread 1 advanced to log sequence 602883 (LGWR switch) Current log# 3 seq# 602883 mem# 0: L:\ORADATA\XFF\REDO03.LOG Sun Apr 07 11:10:38 2019 Thread 1 advanced to log sequence 602884 (LGWR switch) Current log# 1 seq# 602884 mem# 0: L:\ORADATA\XFF\REDO01.LOG Sun Apr 07 11:11:56 2019 Errors in file c:\oracle\product\10.2.0\admin\XFF\udump\XFF_ora_22956.trc: ORA-00600: 内部错误代码, 参数: [ktspgfb-1], [], [], [], [], [], [], [] Sun Apr 07 11:12:46 2019 Errors in file c:\oracle\product\10.2.0\admin\XFF\udump\XFF_ora_27408.trc: ORA-00600: 内部错误代码, 参数: [kcbnew_3], [0], [1], [168354056], [], [], [], [] Sun Apr 07 11:13:57 2019 Errors in file c:\oracle\product\10.2.0\admin\XFF\udump\XFF_ora_6632.trc: ORA-00600: 内部错误代码, 参数: [ktspgfb-1], [], [], [], [], [], [], []
过一段时间报,然后实例直接crash
Tue Apr 09 07:47:35 2019 ORACLE Instance XFF (pid = 18) - Error 600 encountered while recovering transaction (1, 1) on object 113718002. Tue Apr 09 07:47:35 2019 Errors in file c:\oracle\product\10.2.0\admin\XFF\bdump\XFF_smon_12948.trc: ORA-00600: internal error code, arguments: [kcbgcur_3], [168454497], [8], [4], [0], [], [], [] Tue Apr 09 07:55:23 2019 Errors in file c:\oracle\product\10.2.0\admin\XFF\bdump\XFF_pmon_22652.trc: ORA-00474: SMON process terminated with error Tue Apr 09 07:55:24 2019 PMON: terminating instance due to error 474 Tue Apr 09 07:55:24 2019 Errors in file c:\oracle\product\10.2.0\admin\XFF\bdump\XFF_lgwr_28608.trc: ORA-00474: SMON process terminated with error Tue Apr 09 07:55:34 2019 Errors in file c:\oracle\product\10.2.0\admin\XFF\bdump\XFF_psp0_12544.trc: ORA-00474: SMON process terminated with error Tue Apr 09 07:55:34 2019 Errors in file c:\oracle\product\10.2.0\admin\XFF\bdump\XFF_j000_5216.trc: ORA-00474: SMON process terminated with error Tue Apr 09 07:55:35 2019 Errors in file c:\oracle\product\10.2.0\admin\XFF\bdump\XFF_ckpt_28204.trc: ORA-00474: SMON process terminated with error Tue Apr 09 07:55:36 2019 Errors in file c:\oracle\product\10.2.0\admin\XFF\bdump\XFF_mman_9320.trc: ORA-00474: SMON process terminated with error Tue Apr 09 07:55:44 2019 Errors in file c:\oracle\product\10.2.0\admin\XFF\bdump\XFF_q002_24384.trc: ORA-00474: SMON process terminated with error Tue Apr 09 07:55:53 2019 Errors in file c:\oracle\product\10.2.0\admin\XFF\bdump\XFF_reco_24124.trc: ORA-00474: SMON process terminated with error
根据以上报错,数据库crash的原因是由于undo异常导致,通过对undo进行重建,解决掉异常undo,但是业务运行之后,一样的问题又重现,最后通过分析确认是对象异常导致
SQL> create table XFF.T_XIFENFEI_xff as select * from XFF.T_XIFENFEI; create table XFF.T_XIFENFEI_xff as select * from XFF.T_XIFENFEI * ERROR at line 1: ORA-00600: internal error code, arguments: [kcbz_check_objd_typ], [0], [0], [1], [], [], [], [] 屏蔽相关block obj的check之后 SQL> create table XFF.T_XIFENFEI_xff as select * from XFF.T_XIFENFEI; create table XFF.T_XIFENFEI_xff as select * from XFF.T_XIFENFEI * ERROR at line 1: ORA-00600: internal error code, arguments: [ktspScanInit-l1], [], [], [], [],[], [], []
比较明显该表对象出现逻辑异常,通过基于rowid的方式对该表数据进行抽取
SQL> create table XFF.T_XIFENFEI_new 2 as 3 select * from XFF.T_XIFENFEI where 1=0; Table created. SQL> set serveroutput on SQL> set concat off SQL> DECLARE 2 nrows number; 3 rid rowid; 4 dobj number; 5 ROWSPERBLOCK number; 6 BEGIN 7 ROWSPERBLOCK:=1000; 8 nrows:=0; 9 select data_object_id into dobj 10 from dba_objects 11 where owner = 'XFF' 12 and object_name = 'T_XIFENFEI' 13 ; 14 for i in (select relative_fno, block_id, block_id+blocks-1 totblocks 15 from dba_extents 16 where owner = 'XFF' 17 and segment_name = 'T_XIFENFEI' 18 order by extent_id) 19 loop 20 for br in i.block_id..i.totblocks loop 21 for j in 1..ROWSPERBLOCK loop 22 begin 23 rid := dbms_rowid.ROWID_CREATE(1,dobj,i.relative_fno, br , j-1); 24 insert into XFF.T_XIFENFEI_NEW 25 select /*+ ROWID(A) */ * 26 from XFF.T_XIFENFEI A 27 where rowid = rid; 28 if sql%rowcount = 1 then nrows:=nrows+1; end if; 29 if (mod(nrows,10000)=0) then commit; end if; 30 exception when others then null; 31 end; 32 end loop; 33 end loop; 34 end loop; 35 COMMIT; 36 dbms_output.put_line('Total rows: '||to_char(nrows)); 37 END; 38 / Total rows: 227000 PL/SQL procedure successfully completed.
再次观察数据库恢复正常,也不再crash和报错,恢复完成
发表在 Oracle备份恢复
标签为 kcbgcur_3, kcbnew_3, kcbz_check_objd_typ, ktspgfb-1, ktspScanInit-l1, ORA-00474
评论关闭