ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1498], [18713], [18720]

ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1498], [18713], [18720]

数据库server出现ORA-00600[kcratr_nab_less_than_odr]。不能open数据库
1.open数据库报ORA-00600[kcratr_nab_less_than_odr]
SQL> ALTER DATABASE OPEN;
ALTER DATABASE OPEN
*
第 1 行出现错误:
ORA-00600: 内部错误代码, 參数: [kcratr_nab_less_than_odr], [1], [99189],
[43531], [43569], [], [], [], [], [], [], []
2.查看alert日志
Wed Jan 11 13:56:16 2012
ALTER DATABASE OPEN
Beginning crash recovery of 1 threads
 parallel recovery started with 2 processes
Started redo scan
Completed redo scan
 read 54591 KB redo, 0 data blocks need recovery
Errors in file d:\dbdms\diag\rdbms\dbdms\dbdms\trace\dbdms_ora_3108.trc  (incident=818557):
ORA-00600: 内部错误代码, 參数: [kcratr_nab_less_than_odr], [1], [99189], [43531], [43569], [], [], [], [], [], [], []
Incident details in: d:\dbdms\diag\rdbms\dbdms\dbdms\incident\incdir_818557\dbdms_ora_3936_i818557.trc
Aborting crash recovery due to error 600
Errors in file d:\dbdms\diag\rdbms\dbdms\dbdms\trace\dbdms_ora_3108.trc:
ORA-00600: 内部错误代码, 參数: [kcratr_nab_less_than_odr], [1], [99189], [43531], [43569], [], [], [], [], [], [], []
Errors in file d:\dbdms\diag\rdbms\dbdms\dbdms\trace\dbdms_ora_3108.trc:
ORA-00600: 内部错误代码, 參数: [kcratr_nab_less_than_odr], [1], [99189], [43531], [43569], [], [], [], [], [], [], []
ORA-600 signalled during: ALTER DATABASE OPEN…
Trace dumping is performing id=[cdmp_20120110214555]
3.查看trace文件
Trace file d:\dbdms\diag\rdbms\dbdms\dbdms\trace\dbdms_ora_3108.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Windows NT Version V6.1 Service Pack 1 
CPU                 : 2 – type 8664, 2 Physical Cores
Process Affinity    : 0x0x0000000000000000
Memory (Avail/Total): Ph:2250M/4060M, Ph+PgF:5868M/8119M
Instance name: dbdms
Redo thread mounted by this instance: 1
Oracle process number: 17
Windows thread id: 3108, image: ORACLE.EXE (SHAD)
…………………………
WARNING! Crash recovery of thread 1 seq 99189 is
ending at redo block 43531 but should not have ended before
redo block 43569
Incident 826550 created, dump file: d:\dbdms\diag\rdbms\dbdms\dbdms\incident\incdir_826550\dbdms_ora_3108_i826550.trc
ORA-00600: ??????, ??: [kcratr_nab_less_than_odr], [1], [99189], [43531], [43569], [], [], [], [], [], [], []
 
ORA-00600: ??

????, ??

: [kcratr_nab_less_than_odr], [1], [99189], [43531], [43569], [], [], [], [], [], [], []

ORA-00600: ???

?

??

, ??: [kcratr_nab_less_than_odr], [1], [99189], [43531], [43569], [], [], [], [], [], [], []

通过alert和trace中的内容能够知道,数据库须要恢复到rba到43569,可是由于某种原因实例恢复的时候,仅仅能利用1 thread 99189 seq#,恢复rba到43531。

从而导致数据库无法正常open

This Problem is caused by Storage Problem of the Database Files. 
The Subsystem (eg. SAN) crashed while the Database was open. 
The Database then crashed since the Database Files were not accessible anymore. 
This caused a lost Write into the Online RedoLogs and so Instance Recovery is not possible and raising the ORA-600.
4.解决方法
SQL> SELECT STATUS FROM V$INSTANCE;
 
STATUS
————
MOUNTED
 
–尝试直接recover database
SQL> RECOVER DATABASE ;
ORA-00283: 恢复会话因错误而取消
ORA-00264: 不要求恢复
–提示不用恢复
 
–再打开数据库。还是kcratr_nab_less_than_odr错误警告
SQL> ALTER DATABASE OPEN;
ALTER DATABASE OPEN
*
第 1 行出现错误:
ORA-00600: 内部错误代码, 參数: [kcratr_nab_less_than_odr], [1], [99189],
[43531], [43569], [], [], [], [], [], [], []
 
–尝试不全然恢复
SQL> RECOVER DATABASE UNTIL CANCEL;
ORA-10879: error signaled in parallel recovery slave
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现例如以下错误
ORA-01152: 文件 1 没有从过旧的备份中还原
ORA-01110: 数据文件 1: ‘D:\DBDMS\DATA\SYSTEM01.DBF’
 
–重建控制文件
SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS ‘D:/1.TXT’;
 
数据库已更改。
 
SQL> SHUTDOWN IMMEDIATE;
ORA-01109: 数据库未打开
 
 
已经卸载数据库。

ORACLE 例程已经关闭。
SQL> STARTUP NOMOUNT;
ORACLE 例程已经启动。

 
Total System Global Area  417546240 bytes
Fixed Size                  2176328 bytes
Variable Size             268438200 bytes
Database Buffers          138412032 bytes
Redo Buffers                8519680 bytes
SQL> 
create controlfile reuse database ‘AFC010C1’ noresetlogs noarchivelog

maxlogfiles 16

maxlogmembers 4

maxdatafiles 100

maxinstances 8

maxloghistory 18688

logfile

group 1 (‘/oracle/redo1/AFC010C1/redo01a.log’,’/oracle/redo2/AFC010C1/redo01b.log’) size 50M blocksize 512,

group 2 (‘/oracle/redo1/AFC010C1/redo02a.log’,’/oracle/redo2/AFC010C1/redo02b.log’) size 50M blocksize 512,

group 3 (‘/oracle/redo1/AFC010C1/redo03a.log’,’/oracle/redo2/AFC010C1/redo03b.log’) size 50M blocksize 512,

group 4 (‘/oracle/redo1/AFC010C1/redo04a.log’,’/oracle/redo2/AFC010C1/redo04b.log’) size 50M blocksize 512

DATAFILE

‘/oracle/data1/AFC010C1/AFC_BIZ_DATA01.dbf’,

‘/oracle/data1/AFC010C1/AFC_LOG_DATA01.dbf’,

‘/oracle/data1/AFC010C1/AFC_TXN_DATA01.dbf’,

‘/oracle/data1/AFC010C1/AFC_CD_DATA01.dbf’,

‘/oracle/data1/AFC010C1/AFC_RPT_DATA01.dbf’,

‘/oracle/data1/AFC010C1/AFC_WS_DATA01.dbf’,

‘/oracle/data1/AFC010C1/sysaux01.dbf’,

‘/oracle/data1/AFC010C1/AFC_EOD_DATA01.dbf’,

‘/oracle/data1/AFC010C1/AFC_SYSCD_DATA01.dbf’,

‘/oracle/data1/AFC010C1/DBMGR_DATA01.dbf’,

‘/oracle/data1/AFC010C1/system01.dbf’,

‘/oracle/data2/AFC010C1/AFC_BIZ_INDX01.dbf’,

‘/oracle/data2/AFC010C1/AFC_CD_INDX01.dbf’,

‘/oracle/data2/AFC010C1/AFC_EOD_INDX01.dbf’,

‘/oracle/data2/AFC010C1/AFC_LOG_INDX01.dbf’,

‘/oracle/data2/AFC010C1/AFC_RPT_INDX01.dbf’,

‘/oracle/data2/AFC010C1/AFC_SYSCD_INDX01.dbf’,

‘/oracle/data2/AFC010C1/AFC_TXN_INDX01.dbf’,

‘/oracle/data2/AFC010C1/AFC_WS_INDX01.dbf’,

‘/oracle/data2/AFC010C1/DBMGR_INDX01.dbf’,

‘/oracle/data2/AFC010C1/undotbs01.dbf’,

‘/oracle/data2/AFC010C1/users01.dbf’

character set zhs16gbk;

控制文件已创建。
 
–继续尝试恢复
SQL> RECOVER DATABASE ;
完毕介质恢复。
SQL> ALTER DATABASE OPEN;
 
数据库已更改。

–open成功
在这次恢复中,主要就是重建控制文件,然后直接恢复成功。假设redo有损坏,那么可能须要使用不全然恢复。然后使用resetlogs打开数据库

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109082.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 《善数者成:大数据改变中国》读书笔记3

    《善数者成:大数据改变中国》读书笔记3第八章撬动商业:新“规模经济”,数最懂你每一个消费者在消费的过程中留下数据,就会形成商业大数据。“”智慧门店”与天猫围绕新零售在新品首发、渠道管理、大数据赋能和线上线下全渠道融合等领域展开一揽子合作。向新零售转变,卖货层面是最直接的,其次是数据要打通。海澜之家采用RFID技术给2亿件衣服分配了各自的身份编码,进而实现了线上下单、线下发货,并在门店之间实现了数据共享互通,让一条条销售数据从“碎片”走向“整合”,然后又通过大数据分析,更好地分析和洞察消费者需求,及时调整经营策略,降低整体经营性投入,最终

    2022年8月30日
  • 无线点餐系统服务器源代码,android 无线点餐系统,源码

    无线点餐系统服务器源代码,android 无线点餐系统,源码【实例简介】android无线点餐系统,源码,能直接运行。【实例截图】【核心代码】0jzexo└──无线点餐系统├──server│├──bin││├──clientServer.class││└──com││└──vista││└──Server││├──Selec…

    2022年6月19日
  • AC餐饮指的是什么_餐饮tc和ac的区别

    AC餐饮指的是什么_餐饮tc和ac的区别奶牛们在吃饭方面十分挑剔。每头奶牛都有自己喜欢的食物和饮料,并且不会食用其他不喜欢的食物和饮料。农夫约翰为他的奶牛们做了美味的饭菜,但他忘了对照他们的喜好来检查菜单。虽然他可能无法令所有奶牛满意,但他想给尽可能多的奶牛提供一顿完整的用餐—-既有食物可吃,也有饮料可喝。农夫约翰一共烹制了 F 种食物,并提供了 D 种饮料。约翰共有 N 头奶牛,其中第 i 头奶牛有 Fi 种喜欢的食物以及 Di 种喜欢的饮料。约翰需要给每头奶牛分配一种食物和一种饮料,并使得有吃有喝的奶牛数量尽可能大。每种食物

    2022年8月9日
  • 新发的日常小技巧——Sublime插件安装教程(例:lua开发环境插件安装)

    新发的日常小技巧——Sublime插件安装教程(例:lua开发环境插件安装)文章目录一、前言二、关于PackageControl三、安装PackageControl1、办法1:通过命令行安装(需联网)2、办法2:直接拷贝插件包文件到InstalledPackages目录四、通过PackageControl安装插件(需联网)五、无网络环境下安装插件六、lua开发环境插件安装一、前言Sublime具有良好的扩展能力,具有非常多好用的扩展插件,本文我教大家如何给Sublime安装插件。二、关于PackageControl我们要给Sublime安装插件,就需要先安装Pac

    2022年6月24日
  • linux find命令详解_mount命令详解

    linux find命令详解_mount命令详解find命令格式:findpath-option[-print][-exec-okcommand]{}\;find命令的参数:path:要查找的目录路径。~表示$HO

    2022年8月6日
  • 函数指针赋值

    函数指针赋值在远程注入的时候特别需要给函数指针赋值。 有以下2种方法,第一定义方法。主要用于给大量同参数的函数注入。 #include”stdafx.h”#include”windows.h”typedefint(_stdcall*p_MessageBoxA)(HWNDhWnd,LPCSTRlpText,LPCSTRlpCaption,UINTuType)

    2022年7月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号