[转帖]ORA-00600-[kcratr_nab_less_than_odr]问题小记
ORA-00600-[kcratr_nab_less_than_odr]问题小记
https://blog.csdn.net/u010343795/article/details/79532799 协助同事解决了一个演示环境的问题 用的这个网页 感觉作者写的挺好的 记得最开始盖国强里的书 还写过 这个东西如何处理. kernel 的error code 的含义 感觉oracle的东西也太多了.. 搞不太明白.
上午一实施哥们来求救说一个做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]问题小记的更多相关文章
- [转帖]oracle 00600 4194 4193 问题的处理
oracle断电重启之ORA-00600[4194] https://www.cnblogs.com/xwdreamer/p/3778383.html 部门的机器出现异常 断电导致的 错误 从网上学了 ...
- [Oracle]ORA-600[kdBlkCheckError]LOB坏块处理
[Oracle]ORA-600[kdBlkCheckError]LOB坏块处理 客户环境报如下错误: ORA - 00600: Internal error code, arguments: [kdB ...
- [Oracle]如何获得出现故障时,客户端的详细连接信息
[Oracle]如何获得出现故障时,客户端的详细连接信息 客户坚持说 只是在 每天早上5点才运行下面的语句: select / * + FULL (TAB001_TT01) * / 'TAB001_T ...
- [转帖] SQLNET.ORA的处理.
被一个客户端连接远程数据库阻塞超时的问题困扰了好久,最后终于找到了答案 https://blog.csdn.net/herobox/article/details/16985097 Oracle ...
- [转帖]sqlnet.ora常用参数
sqlnet.ora常用参数 注﹕在修改sqlnet.ora文件之后重新启动监听﹐修改才能生效﹗﹗﹗ oracle网络设置主要包括三个文件,sqlnet.ora\ lisnter.ora\ tnsna ...
- [转帖]「日常小记」linux中强大且常用命令:find、grep
「日常小记」linux中强大且常用命令:find.grep https://zhuanlan.zhihu.com/p/74379265 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍 ...
- [转帖]Oracle 使用sqlnet.ora/trigger限制/允许某IP或IP段访问指定用户
Oracle 使用sqlnet.ora/trigger限制/允许某IP或IP段访问指定用户 原创 Oracle 作者:maohaiqing0304 时间:2016-05-03 17:05:46 17 ...
- [ZZ] [精彩盘点] TesterHome 社区 2018年 度精华帖
原文地址: https://testerhome.com/topics/17646 相逢即是缘分,总有一篇适合您! 感觉好的请点赞收藏 ,感觉分类不严谨的,欢迎反馈给我! 测试方法&测试管理 ...
- oracle instant client,tnsping,tnsnames.ora和ORACLE_HOME
前段时间要远程连接oracle数据库,可是又不想在自己电脑上完整安装oracleclient,于是到oracle官网下载了轻量级clientinstant client. 这玩意没有图形界面,全靠sq ...
随机推荐
- js实现网页上图片循环播放
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/T ...
- 分析 JUnit 框架源代码
本文转载至http://www.ibm.com/developerworks/cn/java/j-lo-junit-src/ 分析 JUnit 框架源代码 理解 JUnit 测试框架实现原理和设计模式 ...
- git命令行指南
Git 常用命令 git init here -- 创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息.标记等内容 git remo ...
- JAVA中随机生成确定范围内的随机数
最近工作中的一个业务需要再确定范围内取出一个随机数,网上到时搜出来一堆可以实现的方法,但是鄙人仍是理解不了,虽说已经copy方法直接完成工作了.今天抽时间整理下,希望能够帮助大家更好的理解随机数的实现 ...
- python配置文件
python有两种配置文件,file.ini和file.json 一.ini文件如下: db_config.ini [baseconf] host=127.0.0.1 port=3306 user=r ...
- 编写可维护的JavaScript代码(部分)
平时使用的时VS来进行代码的书写,VS会自动的将代码格式化,所有写了这么久的JS代码,也没有注意到这些点.看了<编写可维护的javascript代码>之后,做了些笔记. var resul ...
- 浏览器是如何处理页面元素的Download?
首先,浏览器对于script的下载是避免并行进行的.HTTP/1.1协议中规定浏览器和同一host之间只建立最多两个连接,也就是说允许的最 大并行度为2(当然,对IE和Firefox来说,你都可以通过 ...
- CentOS6 Zabbix-Agent2.0安装脚本
#! /bin/bash ##################################### #-----------------------------------# #------zabb ...
- 十、封装assertResponse响应断言
一.assertNotNull介绍 assertNotNull(responseEntity.getBody());可判断报文是否为空 responseEntity为响应实体对象 二.assertEq ...
- js window事件解析(转载)
js-window对象的方法和属性资料 hxpd 发表于 2007-05-08 21:58:18 熟练window对象的open.close.alert.confirm.prompt.setTimeo ...