ORA-00600-[kcratr_nab_less_than_odr]问题小记

2018年03月12日 20:56:57 我不是VIP 阅读数 1500
 
https://blog.csdn.net/u010343795/article/details/79532799

协助同事解决了一个演示环境的问题 用的这个网页

感觉作者写的挺好的 

记得最开始盖国强里的书 还写过 这个东西如何处理.  kernel 的error code 的含义 

感觉oracle的东西也太多了.. 搞不太明白. 
 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010343795/article/details/79532799

上午一实施哥们来求救说一个做ETL的数据库无法启动了,出现了ORA-00600的错误。之前也遇到过几次ORA-00600内部错误的问题,几次都是因为数据库服务器异常断电导致的,这类错误一般是oracle自己内部的bug。下面记录下解决的过程:

1、先将数据库启动到mount状态,没有问题,说明数据库成功的打开控制文件。

SQL> startup mount
ORACLE instance started.

Total System Global Area  bytes
Fixed Size           bytes
Variable Size         bytes
Database Buffers      bytes
Redo Buffers            bytes
Database mounted.

2、尝试open数据库,此时主要会读取数据文件、redo日志等。

SQL> alter database open;
alter database open
*
ERROR at line :
ORA-: ],
[], [], [], [], [], [], [], [], [], []

此时提示了ORA-00600: internal error code错误信息,这类错误一般是oracle自己内部的bug,在12C之后就没有了。此类信息的重点在arguments之后,但是一般也没有很具体的信息,此时我们可以在trace目录查看alert日志,若信息还不够明确,再根据alter log中相应的trc文件获取具体信息。 
之前也遇到过类似的情况,看到arguments: [kcratr_nab_less_than_odr]也就明白了原因——服务器异常断电,导致LGWR写联机日志文件时失败,由于数据库异常停机,所以启动的时候需要做实例级恢复,因为写联机日志失败所以无法从中获取这些redo信息。说说ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],[4252], [17024], [17032]的意思:1号线程实例需要恢复日志序列号为4252的联机日志文件,需要恢复到编号为17032的日志块,而实际上只能恢复到第17024个日志块。 
3、下面看看怎么解决。查看当前日志文件信息:

SQL> select group#,sequence#,status,first_time,next_change# from v$log;

    GROUP#  SEQUENCE# STATUS           FIRST_TIM NEXT_CHANGE#
---------- ---------- ---------------- --------- ------------
         CURRENT          -MAR-   2.8147E+14
         INACTIVE         -MAR-   4.9009E+12
         INACTIVE         -MAR-   4.9009E+12

当前日志组组号为1,再通过v$logfile查看组号为1的redo日志的文件位置

SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER
---------- ------- ------- ------------------------------
                  ONLINE  /home/wonders/app/wonders/oradata/orcl/redo01.log
                  ONLINE  /home/wonders/app/wonders/oradata/orcl/redo03.log
                  ONLINE  /home/wonders/app/wonders/oradata/orcl/redo02.log    

指定redo1.log恢复数据库

SQL> recover database until cancel using backup controlfile;
ORA-: change  generated at // :: needed for
thread
ORA-: suggestion :
/home/wonders/app/wonders/flash_recovery_area/ORCL/archivelog/2018_03_12/o1_mf_1
_4252_%u_.arc
ORA-: change   

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/home/wonders/app/wonders/oradata/orcl/redo01.log
Log applied.
Media recovery complete.

恢复完成后必须以RESETLOGS方式打开数据库

SQL> alter database open resetlogs;

Database altered.

[转帖]ORA-00600-[kcratr_nab_less_than_odr]问题小记的更多相关文章

  1. [转帖]oracle 00600 4194 4193 问题的处理

    oracle断电重启之ORA-00600[4194] https://www.cnblogs.com/xwdreamer/p/3778383.html 部门的机器出现异常 断电导致的 错误 从网上学了 ...

  2. [Oracle]ORA-600[kdBlkCheckError]LOB坏块处理

    [Oracle]ORA-600[kdBlkCheckError]LOB坏块处理 客户环境报如下错误: ORA - 00600: Internal error code, arguments: [kdB ...

  3. [Oracle]如何获得出现故障时,客户端的详细连接信息

    [Oracle]如何获得出现故障时,客户端的详细连接信息 客户坚持说 只是在 每天早上5点才运行下面的语句: select / * + FULL (TAB001_TT01) * / 'TAB001_T ...

  4. [转帖] SQLNET.ORA的处理.

    被一个客户端连接远程数据库阻塞超时的问题困扰了好久,最后终于找到了答案  https://blog.csdn.net/herobox/article/details/16985097   Oracle ...

  5. [转帖]sqlnet.ora常用参数

    sqlnet.ora常用参数 注﹕在修改sqlnet.ora文件之后重新启动监听﹐修改才能生效﹗﹗﹗ oracle网络设置主要包括三个文件,sqlnet.ora\ lisnter.ora\ tnsna ...

  6. [转帖]「日常小记」linux中强大且常用命令:find、grep

    「日常小记」linux中强大且常用命令:find.grep https://zhuanlan.zhihu.com/p/74379265 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍 ...

  7. [转帖]Oracle 使用sqlnet.ora/trigger限制/允许某IP或IP段访问指定用户

    Oracle 使用sqlnet.ora/trigger限制/允许某IP或IP段访问指定用户 原创 Oracle 作者:maohaiqing0304 时间:2016-05-03 17:05:46  17 ...

  8. [ZZ] [精彩盘点] TesterHome 社区 2018年 度精华帖

    原文地址: https://testerhome.com/topics/17646 相逢即是缘分,总有一篇适合您! 感觉好的请点赞收藏 ,感觉分类不严谨的,欢迎反馈给我! 测试方法&测试管理 ...

  9. oracle instant client,tnsping,tnsnames.ora和ORACLE_HOME

    前段时间要远程连接oracle数据库,可是又不想在自己电脑上完整安装oracleclient,于是到oracle官网下载了轻量级clientinstant client. 这玩意没有图形界面,全靠sq ...

随机推荐

  1. js实现网页上图片循环播放

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/T ...

  2. 分析 JUnit 框架源代码

    本文转载至http://www.ibm.com/developerworks/cn/java/j-lo-junit-src/ 分析 JUnit 框架源代码 理解 JUnit 测试框架实现原理和设计模式 ...

  3. git命令行指南

    Git 常用命令 git init here -- 创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息.标记等内容 git remo ...

  4. JAVA中随机生成确定范围内的随机数

    最近工作中的一个业务需要再确定范围内取出一个随机数,网上到时搜出来一堆可以实现的方法,但是鄙人仍是理解不了,虽说已经copy方法直接完成工作了.今天抽时间整理下,希望能够帮助大家更好的理解随机数的实现 ...

  5. python配置文件

    python有两种配置文件,file.ini和file.json 一.ini文件如下: db_config.ini [baseconf] host=127.0.0.1 port=3306 user=r ...

  6. 编写可维护的JavaScript代码(部分)

    平时使用的时VS来进行代码的书写,VS会自动的将代码格式化,所有写了这么久的JS代码,也没有注意到这些点.看了<编写可维护的javascript代码>之后,做了些笔记. var resul ...

  7. 浏览器是如何处理页面元素的Download?

    首先,浏览器对于script的下载是避免并行进行的.HTTP/1.1协议中规定浏览器和同一host之间只建立最多两个连接,也就是说允许的最 大并行度为2(当然,对IE和Firefox来说,你都可以通过 ...

  8. CentOS6 Zabbix-Agent2.0安装脚本

    #! /bin/bash ##################################### #-----------------------------------# #------zabb ...

  9. 十、封装assertResponse响应断言

    一.assertNotNull介绍 assertNotNull(responseEntity.getBody());可判断报文是否为空 responseEntity为响应实体对象 二.assertEq ...

  10. js window事件解析(转载)

    js-window对象的方法和属性资料 hxpd 发表于 2007-05-08 21:58:18 熟练window对象的open.close.alert.confirm.prompt.setTimeo ...