当前具体报错已经没有了,仅仅有对应图。參考EYGLE一篇文章中数据:

1.故障现象

数据库版本号11G,错误类似下面:

ORA-00600: 内部错误代码, 參数: [kcratr_nab_less_than_odr]错误。详细的错误信息类似:

Incident 63078 created, dump file: /u01/diag/rdbms/orcl/orcl/incident/incdir_63078/orcl_ora_1916_i63078.trc

ORA-00600: 内部错误代码, 參数: [kcratr_nab_less_than_odr], [1], [3313], [2328320], [2334233], [], [], [], [], [], [], []

ORA-00600: 内部错误代码, 參数: [kcratr_nab_less_than_odr], [1], [3313], [2328320], [2334233], [], [], [], [], [], [], []

ORA-00600: 内部错误代码, 參数: [kcratr_nab_less_than_odr], [1], [3313], [2328320], [2334233], [], [], [], [], [], [], []

ALERT日志中有下面:

Thread 1 checkpoint: logseq 3313, block 2, scn 5965899084787

  cache-low rba: logseq 3313, block 1484161

    on-disk rba: logseq 3313, block 2334233, scn 5965899135009

  start recovery at logseq 3313, block 1484161, scn 0

600错误中的1。3313的含义。是Thread 1 logseq 3313,那么剩下的就应该是恢复时的rba地址,错误提示中的2334233是On-Disk Rba,是恢复应该到达的终点,而2328320小于On-Disk Rba。就应该是Less Than里面提到的恢复的终点,由于没有到达Redo的最后位置,被觉得是非法的,可能丢失数据。

TRACE文件里会有对应的提示:

WARNING! Crash recovery of thread 1 seq 3313 is

ending at redo block 2328320 but should not have ended before

redo block 2334233

我遇到的问题当时仅仅有图片例如以下

原因可能是由于实例恢复的进度不够(由于Redo丢失或者硬件故障导致的REDO不完整--坏块)。

这一点能够从当时报错的TRACE文件的图片中得到验证。

从图中能够看到,须要最少恢复到的ON DISK RBA是block24955,而当前能恢复到的是24957,有部分块丢失,因此报错。

2.故障解决:

首先尝试通过RECOVER DATABASE; RECOVERDATABASEUNTIL CANCEL;等方式进行恢复,可是未解决此问题。

终于通过重建控制文件、再进行不全然恢复来OPEN数据库。

(前提是客户仅仅要求OPEN库,是客户的測试库,丢些数据没关系。假设是生产库不同意丢数据,此方法就不适用了)

使用命令类似下面:

MOUNT状态下: ALTERDATABASEBACKUP CONTROLFILE TOTRACE AS'/home/oracle/a.txt';

使用备份的控制文件里内容,在SQLPLUS窗体运行类似下面:

CREATECONTROLFILE REUSE DATABASE…………

Alter database recover database until cancel using backup controlfile;

Alter database open resetlogs;

并新建暂时表空间。

參考链接:http://www.xifenfei.com/2347.html      http://www.eygle.com/archives/2010/05/kcratr_nab_less_than_odr.html

简单记录一次ORA-00600 kcratr_nab_less_than_odr的更多相关文章

  1. JSP简单记录

    JSP,全称是Java Server Page,是运行在服务器端的页面,是建立在Servlet规范的动态网页技术,JSP文件在第一次请求时,会被编译成Servlet,所以JSP也可以看成是运行中的Se ...

  2. OpenCV安装配置的简单记录

    在ubuntu16.04下安装OpenCV 2.4.11的简单记录 1. 安装cmake,执行$apt-get install cmake即可,cmake -version验证 2. 下载OpenCV ...

  3. asp.net 简单记录请求的客户端和服务端 处理时间

    最近项目需要简单记录一下 ajax客户端和服务端处理时间,服务端时间的思路是借用BeginRequest和EndRequest事件,为了不影响现有接口返回的数据格式,因此服务处理时间放在respons ...

  4. PHP 版本简单记录

    PHP 版本简单记录 PHP 博物馆         http://museum.php.net/php5/ PHP 版本发布       https://secure.php.net/release ...

  5. 简单记录一次注入到shell

    0x00 前言 帮朋友之前拿的一个站,有点久了没有完整截图,简单记录一下. 0x01 基础信息 操作系统:win 集成环境:phpstudy 端口开放:82,3306,3389 有phpmyadmin ...

  6. oracle SCN推进恢复数据库 简单记录

    由于是在内网专用机器上操作,没有日志记录,下面做个简单记录:   前几天某供电局的的一个老数据库存储挂了,数据全部丢失,该库没有开归档,没接备份,怎么恢复? 由于存储损坏严重,从存储恢复不好搞. 好在 ...

  7. [git] github 使用简单记录

    前提 :1. 已有 github 账号.2. 已安装 git .3. 在 github 和 本地 git 客户端交互秘钥.(这步我记得需要做,有点久远,不确定.) 正文: 下面是一个简单的例子.先在 ...

  8. Linux中java项目环境部署,简单记录一下

    这里只是简单的记录一下linux环境下面如何快速的搭配好环境,使你的项目能在linux环境上面运行. 很多时候,我们都是用windows环境进行配置调试的,而真正很多服务器都是在linux服务器上面的 ...

  9. Android查看联系人简单记录

    简单实现打印联系人信息,可以作为插入联系人的基础和主要代码块,作为个人记录的小逻辑 package com.lgqrlchinese.contactstest; import android.Mani ...

随机推荐

  1. HDU 4655 Cut Pieces(2013多校6 1001题 简单数学题)

    Cut Pieces Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total ...

  2. c语言下的变量类型及计算

    源码 补码 反码 机器数:一个数在计算机中的二进制表示形式,  叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.   真值:第一位是符号位,将带符号位的 ...

  3. jQuery:validate添加自定义验证

    jQuery.validator.addMethod添加自定义的验证规则 addMethod:name, method, message 简单实例:单个验证的添加 <!DOCTYPE html ...

  4. ASP.NET Core管道深度剖析

    ASP.NET管道 以IIS 6.0为例,在工作进程w3wp.exe中,利用Aspnet_ispai.dll加载.NET运行时(如果.NET运行时尚未加载).IIS 6引入了应用程序池的概念,一个工作 ...

  5. 通过logstash收集mysql慢查询日志转换为json

    input { file { type => "mysql-slow" path => "/var/log/slow_mysqld.log" sta ...

  6. Dr.memory

    Run Dr.memory on visual c++ 2013 Title: Dr. Memory Command: C:\Program Files (x86)\Dr. Memory\bin\dr ...

  7. SQL中inner join,outer join和cross join的区别

    使用join连表,缺陷的情况下是inner join,开发中使用的left join和right join属于outer join,outer join还包括full join 现有两张表,Table ...

  8. 【Linux】shell判断mysql端口是否启用?

    #!/bin/bash set -eux mysqld >& & CONNECTED=$(netstat -alnt | grep -c ":3306 ") ...

  9. 【Web】前台传送JSON格式数据到后台Shell处理

    1.js中的json对象和字符串之间的转化:http://www.oschina.net/code/snippet_175925_6288 代码片段: var obj = JSON.parse(des ...

  10. 关于windows下自带的forfile批量删除文件bat命令

    最近在开发的过程中,为了节省资源,需要用到windows下批量删除文件的批处理命令,也就是bat 主要内容: forfiles /p "E:\pictures" /m * /d - ...