Detailed Steps for Troubleshooting ORA-00600 [kdsgrp1] (文档 ID 1492150.1)

news2024/9/20 22:52:32
Detailed Steps for Troubleshooting ORA-00600 [kdsgrp1] (文档 ID 1492150.1)​编辑转到底部


In this Document

Purpose
Troubleshooting Steps
References

APPLIES TO:

Oracle Database - Enterprise Edition
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Information in this document applies to any platform.

PURPOSE

This document provides detailed steps for troubleshooting the ORA-00600 [kdsgrp1] internal error.It contains information from other documents including the documents shown in the references section.

Instructions for the Reader

First, please review Document 1332252.1 - Causes and Solutions for ora-00600 [kdsgrp1]. It is an excellent document which explains the error and possible causes/solutions for this particular error.
 

TROUBLESHOOTING STEPS

The following troubleshooting steps can be used to analyze the ORA-600 [kdsgrp1] error:

  1. Identify the object causing the ORA-600 [kdsgrp1] to be raised

    For example, the trace file with ORA-00600 [kdsgrp1] contains the following information::

    * kdsgrp1-1: *************************************************
                row 0x0744877d.52 continuation at
                0x0744877d.52 file# 29 block# 296829 slot 82 not found


    So in this case the ORA-600 is raised in file # 29 and block # 296829.

    The following query can be used to retrieve the object information:

    SELECT segment_type, owner, segment_name
    FROM dba_extents
    WHERE file_id = <file number>
    AND <block number> BETWEEN block_id and block_id+blocks-1;


    So in the given example, issue:

    CONNECT / AS SYSDBA

    SELECT segment_type, owner, segment_name
    FROM dba_extents
    WHERE file_id = 29
    AND 296829 BETWEEN block_id AND block_id+blocks-1;

  2. Analyze the object identified in step 1 and check for table/index mismatches and/or corruptions

    The SQL statements that can be used for this are:

    ANALYZE TABLE <table name> VALIDATE STRUCTURE CASCADE;


    and:

    ANALYZE TABLE <table name> VALIDATE STRUCTURE CASCADE ONLINE;

     

    NOTE:
    Analyze with the ONLINE option enables the Oracle Database to run the validation while DML operations are ongoing within the object. The database reduces the amount of validation performed to allow for concurrency. With the OFFLINE option (which is the default setting) this setting prevents INSERT, UPDATE, and DELETE statements from concurrently accessing the object during validation but allows queries being run against the object.

  3. If the above ANALYZE command fails, then check the table and indexes without using 'cascade'
    option as shown below:

     
    • For tables use:

      ANALYZE TABLE <table name> VALIDATE STRUCTURE;


      or:

      ANALYZE TABLE <table name> VALIDATE STRUCTURE ONLINE;

    • For indexes use:

      ANALYZE INDEX <table name> VALIDATE STRUCTURE;


      or:

      ANALYZE INDEX <table name> VALIDATE STRUCTURE ONLINE;

  4. If ANALYZE fails and the object is corrupt, then:
    1. For non-SYS owned objects, drop and recreate the object when possible:
      1. For an user index corruption, drop and recreate the index.
      2. For Advanced Queue objects we cannot simply drop a queue index owned by the SYSTEM user.
        You can recreate the offending queue tables. If you need the messages that are in the queue then you need to take backup of the data. Re-enqueue the messages back to the queue after a recreate of the queue table
        or:
        Reorganize/move the queue objects:
        • For Oracle versions 10.2.0.5 and above, see Document 1410195.1 - How to perform an Online Move of Advanced Queueing Tables using DBMS_REDEFINITION
        • For Oracle version below 10.2.0.5.0, see Document 304522.1 - How to Move Queue Tables without using the Export or Datapump Utilities
      3. Analyze fails with error ORA-01499

        ANALYZE TABLE <table name> VALIDATE STRUCTURE CASCADE ONLINE;
        ERROR at line 1:
        ORA-01499: table/index cross reference failure - see trace file


        and the trace file generated shows:

        tsn: 8  rdba: 0x0443e30e  seg/obj: 0xfd6b

         
        • To identify the offending object based on tsn and rdba:
          See Document 1499.1 - OERR: ORA-1499 table/Index Cross Reference Failure - see trace file
          tsn: Tablespace Number where the INDEX is stored.
          rdba: Relative data block address of the INDEX segment header.
           

          CONNECT / AS SYSDBA
          SELECT owner, segment_name, segment_type, partition_name
          FROM DBA_SEGMENTS
          WHERE header_file = (SELECT file#
                               FROM v$datafile
                               WHERE rfile# = dbms_utility.data_block_address_file(to_number('0443e30e','XXXXXXXX'))
                               AND ts#= 8)
          AND header_block = dbms_utility.data_block_address_block(to_number('0443e30e','XXXXXXXX'));

        • To identify the offending object based on seg/obj:
          Note the value of the seg/obj field (i.e. 0xfd6b) and translate this to a decimal number (in this case: 64875).
          Look up the object name in the data dictionary:

          CONNECT / AS SYSDBA
          SELECT owner, object_name, object_type
          FROM dba_objects
          WHERE object_id = 64875;

        Check if the issue is solved after drop/create the index.
        1. Analyze fails with error ORA-1499 /ORA-8102 - Index inconsistency
          For INSERT statements on INTERVAL partitioned tables, see:
          Document 10633840.8 - Bug 10633840 - ORA-1502 on insert statement on INTERVAL partitioned table. ORA-8102 / ORA-1499 Index inconsistency
          and:
          Bug:10633840 - ORA-1502 WHILE RUNNING INSERT STATEMENT ON PARTITIONED TABLE

          This issue is fixed in 11.2.0.2 PSU 7.
        2. Analyze fails with error OERI[kdsgrp1]/ORA-1499 - Corrupt index
          After PDML executed in serial, see:
          Document 9469117.8 - Bug 9469117 - Corrupt index after PDML executed in serial. Wrong results. OERI[kdsgrp1]/ORA-1499 by analyze
          and:
          Bug:9469117 - INDEX WITH DELETED KEYS - WRONG RESULTS. OERI [KDSGRP1] / ORA-1499 BY ANALYZE

          This issue is fixed in the 11.2.0.2 patchset.
        3. Analyze fails with ORA-1499, Corruption with self-referenced row in a MSSM (Manual Segment Space Management) tablespace. Wrong results/ORA-600 [6749]/ORA-8102:
          See:
          Document 7705591.8 - Bug 7705591 - Corruption with self-referenced row in MSSM tablespace. Wrong Results / OERI[6749] / ORA-8102
          and:
          Bug:7705591 - CORRUPTED NRID IN A CHAINED ROW POINTING TO ITSELF. ORA-600 [6749] AND ORA-8102

          This issue is fixed in the 11.2.0.2 patchset.

          You can verify the use of MSSM in the SEGMENT_SPACE_MANAGEMENT column of DBA_TABLESPACES.
        4. Analyze fails with errors ORA-1499, ORA-8102, ORA-600 [kdsgrp1] - Bitmap index/table mismatch, when querying a table with bitmap indexes:
          See:
          Document 13146182.8 - Bug 13146182 - ORA-1499 ORA-8102 ORA-600 [kdsgrp1] Bitmap Index / Table mismatch
          and:
          Bug:13146182 - ORA-600 [KDSGRP1] ERROR WHEN QUERYING A TABLE WITH BITMAP INDEXES

          This issue is fixed in the 12.1.
    2. If a SYS object, please perform a database recovery or log a service request.

      You can use RMAN's BACKUP CHECK LOGICAL VALIDATE DATABASE command to check for any logical or physical corruption. It does not actually make a backup, but will do the block checking.

      For details, see Document 472231.1 How to identify all the Corrupted Objects in the Database with RMAN

  5. If analyze is successful and reports no corruption:
     
    1. If running Oracle release 11.1.0.7.0 or below:

      Apply the fix for bug 8720802, fixed in 11.2.0.2.
      For details, see:
      Document 8720802.8 - Bug 8720802 - Add check for row piece pointing to itself (db_block_checking,dbv,rman,analyze)
      and:
      unpublished Bug:8720802 - ADD CHECK FOR CONTINUED ROW PIECE POINTING TO ITSELF

      Without the fix of bug 8720802 tools like DBVERIFY, RMAN, and ANALYZE don't detect this logical corruption.

      An example is the above mentioned bug 7705591.
       
      1. If table and index analysis doesn't report errors and the table doesn't use the LONG column datatype then see:
        Document 8771916.8 - Bug 8771916 - OERI [kdsgrp1] during CR read
        and:
        unpublished Bug:8771916 - ORA-00600 [KDSGRP1] WHEN DOING AN UPDATE

        This issue is fixed in the 11.2.0.2 patchset.

        Workaround is to set the "_row_cr"=FALSE instance parameter.
         

        Note:
        Disabling rowCR (which is an optimization to reduce consistent-read rollbacks during queries) by setting "_row_cr"=FALSE in the instance could cause performance degradation of queries - the statistics "RowCR hits"/"RowCR attempts" can help show if this workaround may be detrimental to performance. So setting this parameter must be verified in a test environment before applying it in production.

      2. If table and index analysis doesn't report errors and the table uses a LONG column datatype then see:
        Document 735435.1 - ORA-600 [kdsgrp1] Generated When Table Contains a LONG
        and:
        Bug:6445948 - ORA-600 [KDSGRP1] HAPPENING => TABLE AND INDEX ANALYZES FINE

        This issue is fixed in 11.2.0.1.

        Workaround:
        • Set the "_row_cr"=FALSE instance parameter.
        • Drop and recreate the index.
           

        Note:
        Disabling rowCR (which is an optimization to reduce consistent-read rollbacks during queries) by setting "_row_cr"=FALSE in the instance could cause performance degradation of queries - the statistics "RowCR hits"/"RowCR attempts" can help show if this workaround may be detrimental to performance. So setting this parameter must be verified in a test environment before applying it in production.

    2. If your running Oracle release 11.2.0.3.0 in a RAC (Real Application Clusters) then test the problem by disabling reader bypass, by setting "_gc_bypass_readers"=FALSE on all nodes. This won't have a dramatic performance impact.

      Monitor the system, and if problem does not occur after setting the parameter then apply Patch:13807411 (fixed in 12.1) and remove the parameter setting.

      For more information, see:
      Document 13807411.8 - Bug 13807411 - ORA-600 [kcbchg1_38] using XA in RAC
      and:
      unpublished Bug:13807411 - ORA-00600[KCBCHG1_38] DURING CURRENT CLEANOUT
       
    3. Otherwise, check if there are any chained rows in the table. If these exist then we may have an undetected corruption and the issue should reproduce whenever the offending SQL statement or a Full Table Scan is run or the entire table is being exported.

      If there is a permanent invalid chained row, the row producing the ORA-600 [kdsgrp1] can be skipped by setting the 10231 event:

      event="10231 trace name context forever, level 10"


      This should be removed from the instance parameters immediately after the table reporting the ORA-600 [kdsgrp1] has been salvaged.

      Alternatively this event can be set at the session level, as in:

      ALTER SESSION SET EVENTS '10231 trace name context forever, level 10';


      For more information, see:
      Document 21205.1 - EVENT: 10231 "skip corrupted blocks on _table_scans_"
      Document 33405.1- Extracting Data from a Corrupt Table using DBMS_REPAIR or Event 10231

  6. If the issue is only occurring in memory you can try to immediately resolve the issue by flushing the buffer cache but remember to consider the performance impact on production systems:

    ALTER SYSTEM FLUSH BUFFER_CACHE;

  7. When feasible apply lateset patchset or one-off patches for relevant known bugs. Please see Document 285586.1- ORA-600 [kdsgrp1] for a list of known issues for your Oracle version.

  8. If further assistance is needed, file a new Service Request with Oracle Global Software Support.

REFERENCES

NOTE:21205.1 - EVENT: 10231 "skip corrupted blocks on _table_scans_"
NOTE:33405.1 - Extracting Data from a Corrupt Table using DBMS_REPAIR or Event 10231
NOTE:1332252.1 - Causes and Solutions for ora-600 [kdsgrp1]
BUG:7705591 - CORRUPTED NRID IN A CHAINED ROW POINTING TO ITSELF. ORA-600 [6749] AND ORA-8102
NOTE:8720802.8 - Bug 8720802 - Add check for row piece pointing to itself (db_block_checking,dbv,rman,analyze)
BUG:10633840 - ORA-1502 WHILE RUNNING INSERT STATEMENT ON PARTITIONED TABLE


NOTE:13146182.8 - Bug 13146182 - ORA-1499 ORA-8102 ORA-600 [kdsgrp1] Bitmap Index / Table mismatch
BUG:13146182 - ORA-600 [KDSGRP1] ERROR WHEN QUERYING A TABLE WITH BITMAP INDEXES
BUG:9469117 - INDEX WITH DELETED KEYS - WRONG RESULTS. OERI [KDSGRP1] / ORA-1499 BY ANALYZE

NOTE:472231.1 - How to identify all the Corrupted Objects in the Database with RMAN
NOTE:285586.1 - ORA-600 [kdsgrp1]
NOTE:1499.1 - OERR: ORA-1499 table/Index Cross Reference Failure - see trace file
NOTE:10633840.8 - Bug 10633840 - ORA-1502 on insert statement on INTERVAL partitioned table. ORA-8102 / ORA-1499 Index inconsistency
NOTE:9469117.8 - Bug 9469117 - Corrupt index after PDML executed in serial. Wrong results. OERI[kdsgrp1]/ORA-1499 by analyze
NOTE:403747.1 - FAQ: Physical Corruption
NOTE:7705591.8 - Bug 7705591 - Corruption with self-referenced row in MSSM tablespace. Wrong Results / OERI[6749] / ORA-8102

此文档是否有帮助?

文档详细信息

通过电子邮件发送此文档的链接

在新窗口中打开文档

可打印页

类型:
状态:
上次主更新:
上次更新:
TROUBLESHOOTING
PUBLISHED
2019-3-1
2023-6-30

相关产品

Oracle Database Cloud Exadata Service

Oracle Database Exadata Express Cloud Service

Oracle Database Cloud Service

Oracle Database - Enterprise Edition

Oracle Database Cloud Schema Service

显示更多

信息中心

加载信息中心

文档引用

加载信息中心

最近查看

Oracle Reliable Datagram Sockets (RDS) and InfiniBand (IB) Support (For Linux x86 and x86-64 Platforms) [761804.1]

Oracle Clusterware and RAC Support for RDS Over Infiniband [751343.1]

HOWTO: Remove/Disable HAIP on Exadata [2524069.1]

Grid infrastructure (GI):HAIP on RDS is not supported [2328941.1]

HOWTO: Remove/Disable HAIP on ODA [2612963.1]

显示更多

未找到您要查找的产品?

在社区中提问...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1872667.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Stateflow快速入门系列(五): 通过广播事件同步并行状态

局部事件允许一个状态触发同一个 Stateflow图中另一个状态的转移或动作&#xff0c;从而使您能够协调并行状态。要将事件从一个状态广播到另一个状态&#xff0c;请使用 send 运算符以及事件的名称和激活状态的名称&#xff1a; send(eventName,stateName) 当您广播事件时&am…

2024年【建筑电工(建筑特殊工种)】模拟试题及建筑电工(建筑特殊工种)作业考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年建筑电工(建筑特殊工种)模拟试题为正在备考建筑电工(建筑特殊工种)操作证的学员准备的理论考试专题&#xff0c;每个月更新的建筑电工(建筑特殊工种)作业考试题库祝您顺利通过建筑电工(建筑特殊工种)考试。 1、…

FastGPT 手动部署错误:MongooseServerSelectionError: getaddrinfo EAI_AGAIN mongo

在运行 FastGPT 时&#xff0c;mongodb 报如下错误&#xff1a; MongooseServerSelectionError: getaddrinfo EAI_AGAIN mongo 这是因为 mongo 没有解析出来&#xff0c;在 hosts 文件中添加如下信息&#xff1a; 127.0.0.1 mongo 重新运行 FastGPT 即可。 参考链接&#xff…

庆祝东兴市金顺心贸易有限公司代理越南三原竹系列产品五周年

&#x1f389;庆祝金顺心贸易代理越南三原竹系列产品五周年&#xff01;这五年&#xff0c;我们共同成长&#xff0c;每一份产品都承载着越南的美味与匠心。感恩有你们&#xff0c;未来的路&#xff0c;我们继续携手前行&#xff0c;品味更多美好&#xff01;&#x1f962;&…

“骑友应小心“杀猪盘”,骑行圈也是小社会”

在数字时代&#xff0c;自媒体平台上的信息传播迅速而广泛&#xff0c;人们的社交活动也愈加多元化。骑行圈&#xff0c;作为一个集体育、休闲与社交于一体的圈子&#xff0c;其独特的魅力吸引着无数热爱生活、享受自然的人们。然而&#xff0c;在享受共同的爱好与乐趣之时&…

Dom4j的基本使用 , XML解析方式和解析器 ,Dom4J结合XPath解析XML

第二章 Dom4j 1 XML解析 1.1 解析概述 ​ 当将数据存储在XML后&#xff0c;我们就希望通过程序获取XML的内容。我们使用Java基础所学的IO知识是可以完成的&#xff0c;不过需要非常繁琐的操作才可以完成&#xff0c;且开发中会遇到不同问题&#xff08;只读、读写&#xff0…

社交App广告优化新篇章:Xinstall引领用户体验升级,助力买量效果提升

随着移动互联网的快速发展&#xff0c;社交App已经成为人们生活中不可或缺的一部分。然而&#xff0c;在竞争激烈的市场环境下&#xff0c;如何有效地进行广告投放&#xff0c;吸引并留住用户&#xff0c;成为了每个社交App运营者面临的重大挑战。今天&#xff0c;我们就来谈谈…

乐观锁和悲观锁(MySQL和Java)

乐观锁和悲观锁(MySQL和Java) 在并发编程中&#xff0c;为了确保数据的一致性和完整性&#xff0c;我们通常需要使用锁机制来控制对共享资源的访问。锁主要分为两种&#xff1a;乐观锁和悲观锁。本文将详细介绍这两种锁的概念、工作原理以及它们的优缺点。 悲观锁 悲观锁(Pe…

字节码编程ASM之插桩方法执行耗时

写在前面 源码 。 本文看下如何对已有类进行插装。以最经典的方法执行耗时作为例子。 1&#xff1a;编码 假定有如下的代码&#xff1a; public class MyMethod {public String queryUserInfo(String uid) {System.out.println("xxxx");System.out.println("…

visual studio2022配置和使用protobuf

上图证明&#xff0c;我真的测了好多遍&#xff0c;测了好多版本的protobuf&#xff0c;花了很多时间。不过好在最后在vs2022上测通了。 下载protobuf 这里是protobuf下载的地址。 Releases protocolbuffers/protobuf GitHub 个人使用的3.21.9这个版本才跑通的。 1、首先…

【递归、搜索与回溯】floodfill算法二

floodfill算法二 1.被围绕的区域2.太平洋大西洋水流问题3.扫雷游戏4.衣橱整理 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我们一起努力吧!&#x1f603;&#x1f603; 1.被围绕的区域…

【OpenSSH】关于操作系统中的自带的SSH你知道怎么用吗

希望文章能给到你启发和灵感&#xff5e; 如果觉得文章对你有帮助的话&#xff0c;点赞 关注 收藏 支持一下博主吧&#xff5e; 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境 二、如何开启SSH服务2.1 什么是OpenSSH2.2 对于Windows 10, Windows 11系统2.2.1 如…

bug记录-XFTP传输中文文件夹乱码

bug记录-XFTP传输中文文件夹乱码 今日想往服务器中同步一些脚本,脚本文件夹是中文命名的,用XFTP导入后发现文件夹名称是乱码的 但是在XFTP上显示是正常的 这是因为window默认是GBK编码 linux是UTF-8编码 所以我们只需要把XFTP会话的编码改为UTF-8就可以了 首先点击文件-当前…

【Android面试八股文】Framework面试:Handler怎么进行线程通信的?原理是什么?

文章目录 Handler整体思想Handler工作流程Handler工作流程图总结Handler整体思想 在多线程的应用场景中,将工作线程中需更新 UI 的操作信息 传递到 UI 主线程,从而实现 工作线程对 UI 的更新处理,最终实现异步消息的处理。 Handler工作流程 Handler 机制的工作流程主要包括…

VUE中,table border属性的不同使用方式

在vue中&#xff0c;使用table&#xff0c;在给table设置边框属性时&#xff0c;按照以往的习惯&#xff1a; <table border"1px solid"><table> 这种写法&#xff0c;产生的效果如下&#xff1a;下边、右边的边框明显和上边、左边不同。border属性设置…

【多维动态规划】Leetcode 97. 交错字符串【中等】

交错字符串 给定三个字符串 s1、s2、s3&#xff0c;请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下&#xff0c;其中每个字符串都会被分割成若干 非空 子字符串 子字符串 是字符串中连续的 非空 字符序列。 s s1 s2 … snt…

2024年5月90篇代码大模型论文最全整理

引言&#xff1a; 本文整理 2024 年 5 月发布的 90 篇代码大模型相关论文&#xff0c;其中包括 17 篇发表在今年 ICLR 的论文。根据论文内容&#xff0c;我们将这些论文整理为了基座模型、代码微调、测试基准、代码 Agent、低资源语言处理、AI 代码安全与分析、人机交互、软件…

Lean4Game 开发教程 | 数学形式化

引言 Lean 是一门用于形式化证明的编程语言&#xff0c;它允许严格证明数学定理和验证软件代码的正确性。 本篇介绍 Lean 游戏的编写和发布方式。这类游戏不仅利于对 Lean 本身的学习&#xff0c;对学科知识的理解&#xff0c;还能推动数学圈内人对 Lean 的接触学习。 Lean4…

你不知道的物联网产品有那么多

目录 1. 智能农业设备 ​编辑1.1 土壤感应器 1.2 自动喷灌系统 2. 智能医疗设备 ​编辑2.1 可穿戴健康监测设备 2.2 智能药盒 3. 智能城市基础设施 ​编辑3.1 智能垃圾桶 3.2 智能路灯 4. 智能物流与供应链 ​编辑4.1 货物跟踪设备 4.2 智能仓储系统 5. 智能网关 …

linux server下人脸检测与识别服务程序的系统架构设计

一、绪论 1.1 定义 1.2 研究背景及意义 1.3 相关技术综述 二、人脸检测与识别技术概述 2.1 人脸检测原理与算法 2.2 人脸识别技术及方法 2.3 人脸识别过程简介 三、人脸检测与识别服务程序的系统架构 3.1 系统架构设计 3.2 技术实现流程 四、后续设计及经验瞎谈 4.…