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

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.mfbz.cn/a/757407.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙开发Ability Kit(程序框架服务):【选择申请权限的方式】

选择申请权限的方式 应用在访问数据或者执行操作时&#xff0c;需要评估该行为是否需要应用具备相关的权限。如果确认需要目标权限&#xff0c;则需要在应用安装包中申请目标权限。 每一个权限的权限等级、授权方式不同&#xff0c;申请权限的方式也不同&#xff0c;开发者在…

41割队伍

上海市计算机学会竞赛平台 | YACSYACS 是由上海市计算机学会于2019年发起的活动,旨在激发青少年对学习人工智能与算法设计的热情与兴趣,提升青少年科学素养,引导青少年投身创新发现和科研实践活动。https://www.iai.sh.cn/problem/387 题目描述 给定 𝑛n 个数字 𝑎1,�…

MySQL高级-MVCC-基本概念(当前读、快照读)

文章目录 1、MVCC基本概念1.1、当前读1.1.1、创建表 stu1.1.2、测试 1.2、快照读 1、MVCC基本概念 全称Multi-Version Concurrency Control&#xff0c;多版本并发控制。指维护一个数据的多个版本&#xff0c;使得读写操作没有冲突&#xff0c;快照读为MySQL实现MVCC提供了一个…

网易云音乐数据爬取与可视化分析系统

摘要 本系统采用Python语言&#xff0c;基于网易云音乐&#xff0c;通过数据挖掘技术对该平台的音乐数据进行了深入的研究和分析&#xff0c;旨在挖掘出音乐市场的规律&#xff0c;为音乐人、唱片公司、音乐爱好者等提供数据支持。系统的开发意义在于&#xff1a;一方面为音乐…

flink 处理函数和流转换

目录 处理函数分类 概览介绍 KeydProcessFunction和ProcessFunction 定时器TimeService 窗口处理函数 多流转换 分流-侧输出流 合流 联合&#xff08;Uniion&#xff09; 连接&#xff08;connect&#xff09; 广播连接流&#xff08;BroadcatConnectedStream&#xf…

大模型微调实战之基于星火大模型的群聊对话分角色要素提取挑战赛:Task01:跑通Baseline

目录 0 背景1 环境配置1.1 下载包1.2 配置密钥1.3 测试模型 2 解决问题2.1 获取数据2.2 设计Prompt2.2 设计处理函数2.3 开始提取 附全流程代码 0 背景 Datawhale AI夏令营第二期开始啦&#xff0c;去年有幸参与过第一期&#xff0c;收获很多&#xff0c;这次也立马参与了第二…

昇思MindSpore学习笔记5--数据变换Transforms

摘要&#xff1a; 昇思MindSpore的数据变换&#xff0c;包括通用变换Common Transforms、图像变换Vision Transforms、标准化Normalize、文本变换Text Transforms、匿名函数变换Lambda Transforms。 一、数据变换Transforms概念 原始数据需预处理后才能送入神经网络进行训练…

【网络】计算机网络-基本知识

目录 概念计算机网络功能计算机网络的组成计算机网络的分类 网络地址网络地址的分类 计算机网络相关性能指标速率带宽吞吐量时延时延的种类&#xff1a; 时延带宽积往返时延RTT利用率 概念 计算机网络是指将多台计算机通过通信设备连接起来&#xff0c;实现数据和资源的共享。…

spring mvc实现一个自定义Formatter请求参数格式化

使用场景 在Spring Boot应用中&#xff0c;Formatter接口用于自定义数据的格式化&#xff0c;比如将日期对象格式化为字符串&#xff0c;或者将字符串解析回日期对象。这在处理HTTP请求和响应时特别有用&#xff0c;尤其是在展示给用户或从用户接收特定格式的数据时。下面通过…

Arthas快速入门

简介 Arthas 是一款线上监控诊断产品&#xff0c;通过全局视角实时查看应用 load、内存、gc、线程的状态信息&#xff0c;并能在不修改应用代码的情况下&#xff0c;对业务问题进行诊断&#xff0c;包括查看方法调用的出入参、异常&#xff0c;监测方法执行耗时&#xff0c;类…

3.3V到5V的负电源产生电路(电荷泵电压反相器)SGM3204输出电流0.2A封装SOT23-6

前言 SGM3204 非稳压 200mA 电荷泵负电源产生电路&#xff0c;LCEDA原理图请访问资源 SGM3204电荷泵负电源产生电路 SGM3204电荷泵负电源产生电路 一般描述 SGM3204从 1.4V 至 5.5V 的输入电压范围产生非稳压负输出电压。 该器件通常由 5V 或 3.3V 的预稳压电源轨供电。由于…

ElementUI的基本搭建

目录 1&#xff0c;首先在控制终端中输入下面代码&#xff1a;npm i element-ui -S 安装element UI 2&#xff0c;构架登录页面&#xff0c;login.vue​编辑 3&#xff0c;在官网获取对应所需的代码直接复制粘贴到对应位置 4&#xff0c;在继续完善&#xff0c;从官网添加…

OverTheWire Bandit 靶场通关解析(中)

介绍 OverTheWire Bandit 是一个针对初学者设计的网络安全挑战平台&#xff0c;旨在帮助用户掌握基本的命令行操作和网络安全技能。Bandit 游戏包含一系列的关卡&#xff0c;每个关卡都需要解决特定的任务来获取进入下一关的凭证。通过逐步挑战更复杂的问题&#xff0c;用户可…

14-7 为什么你的梦想职业可能会扼杀你的梦想

照片由Johnny Cohen在Unsplash拍摄 “做好工作的唯一方法就是热爱你所做的事情。如果你还没有找到&#xff0c;那就继续寻找。不要安于现状。”——史蒂夫乔布斯 等一下&#xff0c;什么&#xff1f; 这不是一篇关于无聊工作的文章吗&#xff1f;我为什么要用一句完全违背前提…

windows@文件高级共享设置@网络发现功能@从资源管理器网络中访问远程桌面

文章目录 高级共享设置常用选项其他选项操作界面说明 网络类型检查和设置(专用网络和公用网络)&#x1f47a;Note 高级共享设置和防火墙&#x1f47a;命令行方式使用图形界面方式配置 网络发现网络发现功能的详细介绍网络发现的作用&#x1f47a;网络发现的工作原理启用和配置网…

Vulnhub-AdmX

主机发现 靶机 &#xff1a; 192.168.145.131131 这台主机 存活 端口扫描 nmap -sV -O -p 1-65535 192.168.145.131 存在 80 端口 &#xff0c;这里连ssh 端口都没了 80 端口存在 Apache httpd 2.4.1 存在 Apache 默认页面 像这种页面 &#xff0c;没有什么具体的价值 扫描一…

Linux的fwrite函数

函数原型: 向文件fp中写入writeBuff里面的内容 int fwrite(void*buffer&#xff0c;intsize&#xff0c;intcount&#xff0c;FILE*fp) /* * description : 对已打开的流进行写入数据块 * param ‐ ptr &#xff1a;指向 数据块的指针 * param ‐ size &#xff1a;指定…

Webpack: 开发 PWA、Node、Electron 应用

概述 毋庸置疑&#xff0c;对前端开发者而言&#xff0c;当下正是一个日升月恒的美好时代&#xff01;在久远的过去&#xff0c;Web 页面的开发技术链条非常原始而粗糙&#xff0c;那时候的 JavaScript 更多用来点缀 Web 页面交互而不是用来构建一个完整的应用。直到 2009年5月…

Transformer教程之序列到序列模型(Seq2Seq)

在自然语言处理&#xff08;NLP&#xff09;的领域中&#xff0c;Transformer模型无疑是近年来最具革命性的方法之一。它的出现不仅大大提高了机器翻译、文本生成等任务的精度&#xff0c;还推动了整个深度学习研究的进步。本文将详细介绍Transformer模型中的序列到序列模型&am…

Redisson(分布式锁、限流)

注意Redisson是基于Redis的&#xff0c;所以必须先引入Redis配置&#xff08;参考SpringBoot集成Redis文章&#xff09; 1. 集成Redisson 引入依赖 <!-- 二选一,区别是第一个自动配置&#xff0c;第二个还需要手动配置也就是第二步自定义配置&#xff0c;注意版本号&…
最新文章