记录一次ORA-00600 [kdsgrp1]导致的large tracefile的处理过程

news2024/10/7 20:37:13

文章目录

  • 1.问题描叙
  • 2 查因过程
    • 2.1 查看磁盘空间状况
    • 2.2 检查表空间增长情况
    • 2.3 检查$ORACLE_BASE相关文件
    • 2.4查看trace file内容
  • 3.处理过程
    • 3.1数据文件检查
    • 3.2 表及索引段检查
  • 4.结论:

1.问题描叙

收到check_mk告警,约在15:17左右硬盘空间消耗暴增
在这里插入图片描述

2 查因过程

2.1 查看磁盘空间状况

u1很快被耗尽

[oracle@gsierp ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              45G   16G   27G  38% /
/dev/sda1             2.0G   52M  1.8G   3% /boot
tmpfs                  16G   16K   16G   1% /dev/shm
/dev/sdd               99G   78G   16G  84% /u3
/dev/sde               99G   30G   64G  33% /u4
/dev/sdb1             197G  196G  114M 100% /u1
/dev/sdc1              74G   68G  2.6G  97% /u2

2.2 检查表空间增长情况

从输出结果来看,并没有异常增长,看来问题不在数据库数据文件

select a.snap_id,a.dbid,a.tablespace_id,a.tablespace_size max_tablespace_size,b.tablespace_size min_tablespace_size,
a.tablespace_usedsize max_tablespace_usedsize,b.tablespace_usedsize min_tablespace_usedsize,
round(a.tablespace_size-b.tablespace_size,2) diff_tablespace_size,
round((a.tablespace_usedsize-b.tablespace_usedsize)*8/1024/1024,2) diff_tablespace_usedsize
from 
(select su.snap_id,su.dbid,su.tablespace_id,su.tablespace_size,su.tablespace_usedsize from dba_hist_tbspc_space_usage su
join dba_hist_snapshot sn on su.snap_id=sn.snap_id
join (select MAX(SNAP_ID) MAX_SNAP_ID,MIN(SNAP_ID) MIN_SNAP_ID from dba_hist_snapshot where to_char(begin_interval_time,'YYYY-MM-DD HH24:MI:SS') LIKE '2023-08-29%') msn
on su.snap_id=msn.max_snap_id) a,
(select su.snap_id,su.dbid,su.tablespace_id,su.tablespace_size,su.tablespace_usedsize from dba_hist_tbspc_space_usage su
join dba_hist_snapshot sn on su.snap_id=sn.snap_id
join (select MAX(SNAP_ID) MAX_SNAP_ID,MIN(SNAP_ID) MIN_SNAP_ID from dba_hist_snapshot where to_char(begin_interval_time,'YYYY-MM-DD HH24:MI:SS') LIKE '2023-08-29%') msn
on su.snap_id=msn.min_snap_id) b
where a.dbid=a.dbid and a.tablespace_id=b.tablespace_id
  SNAP_ID       DBID TABLESPACE_ID MAX_TABLESPACE_SIZE MIN_TABLESPACE_SIZE MAX_TABLESPACE_USEDSIZE MIN_TABLESPACE_USEDSIZE DIFF_TABLESPACE_SIZE DIFF_TABLESPACE_USEDSIZE
---------- ---------- ------------- ------------------- ------------------- ----------------------- ----------------------- -------------------- ------------------------
     76920 2922139705             0               92800               92800                   92344                   92344                    0                        0
     76920 2922139705             1             4971008             4971008                   67408                   55632                    0                      .09
     76920 2922139705             2              179200              179200                  160072                  160560                    0                        0
     76920 2922139705             4              145440              145440                  144776                  144776                    0                        0
     76920 2922139705             5            11308928            11308928                10512584                10512584                    0                        0
     76920 2922139705             6             1876224             1876224                 1544152                 1544152                    0                        0
     76920 2922139705             8             3055360             3055360                 2682048                 2682048                    0                        0
     76920 2922139705             9             1462016             1462016                 1179416                 1179416                    0                        0
     76920 2922139705            11            12390896            12390896                12068792                12022072                    0                      .36
     76920 2922139705            12             1420800             1420800                  976688                  976688                    0                        0
     76920 2922139705            14             2706560             2706560                 2659040                 2659040                    0                        0

   SNAP_ID       DBID TABLESPACE_ID MAX_TABLESPACE_SIZE MIN_TABLESPACE_SIZE MAX_TABLESPACE_USEDSIZE MIN_TABLESPACE_USEDSIZE DIFF_TABLESPACE_SIZE DIFF_TABLESPACE_USEDSIZE
---------- ---------- ------------- ------------------- ------------------- ----------------------- ----------------------- -------------------- ------------------------
     76920 2922139705            15              749440              749440                  735440                  735440                    0                        0
     76920 2922139705            16                1280                1280                     232                     232                    0                        0
     76920 2922139705            17             1310720             1310720                       0                       0                    0                        0

2.3 检查$ORACLE_BASE相关文件

最终检查到udump目录的大小达27G之多

[oracle@gsierp pyia]$ du -sh $ORACLE_BASE/admin/pyia/*
63M     ./adump
20G     ./adump.old
364M    ./bdump
24K     ./cdump
27G     ./udump
[oracle@gsierp udump]$ ls -alh --full-time|grep "2023-08-29"
-rw-r----- 1 oracle oinstall   25G 2023-08-29 15:49:52.771222574 +0700 pyia_ora_11160.trc

2.4查看trace file内容

由于文件size太大,先使用head命令查看头部信息

[oracle@gsierp udump]$ head -n 100 pyia_ora_11160.trc |more
/u1/admin/pyia/udump/pyia_ora_11160.trc
Oracle Database 10g Release 10.2.0.5.0 - 64bit Production
ORACLE_HOME = /oracle/app/product/10.2.0
System name:    Linux
Node name:      gsierp
Release:        2.6.32-300.10.1.el5uek
Version:        #1 SMP Wed Feb 22 17:37:40 EST 2012
Machine:        x86_64
Instance name: pyia
Redo thread mounted by this instance: 1
Oracle process number: 56
Unix process pid: 11160, image: oracle@gsierp

*** 2023-08-29 15:02:41.341
*** ACTION NAME:() 2023-08-29 15:02:41.341
*** MODULE NAME:(app_sis_sap.exe) 2023-08-29 15:02:41.341
*** SERVICE NAME:(SYS$USERS) 2023-08-29 15:02:41.341
*** SESSION ID:(920.29479) 2023-08-29 15:02:41.341
            row 088e32c5.1 continuation at
            file# 34 block# 930501 slot 2 not found
**************************************************
KDSTABN_GET: 0 ..... ntab: 1
curSlot: 2 ..... nrows: 15
**************************************************
*** 2023-08-29 15:02:41.341
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [kdsgrp1], [], [], [], [], [], [], []
Current SQL statement for this session:
AND TRIM(NVL(TRIM(A.POSNR), TRIM(SIZE_NO))) = TRIM(DECODE(TRIM(B.POSNR),'000000', B.WO_SIZE
FROM SAP_WO A,BARUM(B.QTY) QTY,03', 'ZP04', 'ZP10', 'ZP14')) = 'REL'
SELEN ALLA.AUFNRIN ('ZP02', 'ZP03', 'ZP04', 'ZP10', 'ZP14')) = 'REL'
AND NOT A.AUART IN ('ZP02', 'ZP03', 'ZP04', 'ZP10ASTNR,'N')) = 'REL'
AND NOTSTR(A.PLNBEZ, 1, 2) = 'FG' AND TRIM(NVL(A.ASTNR,'N')) = 'REL'
AND SUBSTR(A.PLNBEZ, 1, 2) = 'FG'  B.PROD_BATCH ='10422479-0010'
/*ERE A.AUFNR = B.AUFNR(+), 'ZP03', 'ZP04', 'ZP10', 'ZP14')
SELECT A.AUFNR,A.WO_SIZE,A.GAMNG,B.QTY BAR_QTY
  FROM
  (SELECT B.AUFNR, B.WO_SIZE WO_SIZE, SUM(B.GAMNG) GAMNG
     FROM ODRD A, SAP_WO B
    WHERE A.FACT_ODR_NO = B.PROD_BATCH
      AND TRIM(NVL(TRIM(A.POSNR), TRIM(SIZE_NO))) = TRIM(DECODE(TRIM(B.POSNR),'000000', B.WO_SIZE, B.POSNR))
      AND B.PROD_BATCH = :AS_PROD_BATCH
      AND SUBSTR(B.PLNBEZ, 1, 2) = :AS_KIND  AND TRIM(NVL(B.ASTNR,'N')) = 'REL'
      AND NOT B.AUART IN ('ZP02', 'ZP03', 'ZP04', 'ZP10', 'ZP14')
   GROUP BY B.AUFNR, B.WO_SIZE) A,
  (SELECT A.AUFNR,SUM(B.QTY) QTY
     FROM SAP_WO A,BARM_1 B
    WHERE A.AUFNR = B.AUFNR
      AND A.PROD_BATCH = :AS_PROD_BATCH
      AND SUBSTR(A.PLNBEZ, 1, 2) = :AS_KIND  AND TRIM(NVL(A.ASTNR,'N')) = 'REL'
      AND NOT A.AUART IN ('ZP02', 'ZP03', 'ZP04', 'ZP10', 'ZP14')
   GROUP BY A.AUFNR
UNION ALL
   SELECT A.AUFNR,SUM(B.QTY) QTY
     FROM SAP_WO A,BARM_3 B
    WHERE A.AUFNR = B.AUFNR
      AND A.PROD_BATCH = :AS_PROD_BATCH 
      AND SUBSTR(A.PLNBEZ, 1, 2) = :AS_KIND  AND TRIM(NVL(A.ASTNR,'N')) = 'REL'
      AND NOT A.AUART IN ('ZP02', 'ZP03', 'ZP04', 'ZP10', 'ZP14')
   GROUP BY A.AUFNR
   UNION ALL
   SELECT A.AUFNR,SUM(B.QTY) QTY
     FROM SAP_WO A,BARM_4 B
    WHERE A.AUFNR = B.AUFNR
      AND A.PROD_BATCH = :AS_PROD_BATCH
      AND SUBSTR(A.PLNBEZ, 1, 2) = :AS_KIND  AND TRIM(NVL(A.ASTNR,'N')) = 'REL'
      AND NOT A.AUART IN ('ZP02', 'ZP03', 'ZP04', 'ZP10', 'ZP14')
   GROUP BY A.AUFNR
   UNION ALL
   SELECT A.AUFNR,SUM(B.QTY) QTY
     FROM SAP_WO A,BARM_5 B
    WHERE A.AUFNR = B.AUFNR
      AND A.PROD_BATCH = :AS_PROD_BATCH
      AND SUBSTR(A.PLNBEZ, 1, 2) = :AS_KIND  AND TRIM(NVL(A.ASTNR,'N')) = 'REL'
      AND NOT A.AUART IN ('ZP02', 'ZP03', 'ZP04', 'ZP10', 'ZP14')
   GROUP BY A.AUFNR) B
 WHERE A.AUFNR = B.AUFNR(+)
/*
SELECT B.AUFNR,B.WO_SIZE WO_SIZE,SUM(B.GAMNG) GAMNG,
       NVL(SUM((SELECT SUM(QTY) FROM BARM_1 Z WHERE Z.AUFNR=B.AUFNR)),0)+
       NVL(SUM((SELECT SUM(QTY) FROM BARM_3 Z WHERE Z.AUFNR=B.AUFNR)),0)+
       NVL(SUM((SELECT SUM(QTY) FROM BARM_4 Z WHERE Z.AUFNR=B.AUFNR)),0)+
       NVL(SUM((SELECT SUM(QTY) FROM BARM_5 Z WHERE Z.AUFNR=B.AUFNR)),0) BAR_QTY 
FROM ODRD A,SAP_WO B
WHERE A.FACT_ODR_NO       = B.PROD_BATCH   AND 
                TRIM(NVL(TRIM(A.POSNR),TRIM(SIZE_NO)))=TRIM(DECODE(TRIM(B.POSNR),'000000',B.WO_SIZE,B.POSNR)) AND
           B.PROD_BATCH        =:AS_PROD_BATCH  AND 
      SUBSTR(B.PLNBEZ,1,2)=:AS_KIND        AND
                b.AUART NOT IN ('ZP02','ZP03','ZP04','ZP10','ZP14') 
GROUP BY B.AUFNR,B.WO_SIZE 
*/

从输出看出:
file# 34 block# 930501 slot 2 not found
ORA-00600: internal error code, arguments: [kdsgrp1], [], [], [], [], [], [], []
触发错误的是一个select查询语句,由此推断,select在执行过程中,遇到file# 34 block# 930501 slot 2 not found,导致ORA-00600错误
这很可能是一个物理错误或者逻辑错误

3.处理过程

3.1数据文件检查

先对涉及的file# 34作一个dbv检验,看看是否有物理损坏

[oracle@gsierp ~]$ dbv userid='system/"XXX123OSrr07g4KaFLCCs7c/"'  file='/u4/oradata/pyia/sisdata03.dbf'  blocksize=8192

DBVERIFY: Release 10.2.0.5.0 - Production on Wed Aug 30 15:58:47 2023
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
DBVERIFY - Verification starting : FILE = /u4/oradata/pyia/sisdata03.dbf
DBVERIFY - Verification complete
Total Pages Examined         : 1937920
Total Pages Processed (Data) : 965136
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 793739
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 172036
Total Pages Processed (Seg)  : 354
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 6655
Total Pages Marked Corrupt   : 0
Total Pages Influx           : 0
Highest block SCN            : 335941877 (2475.335941877)

从检查结果来看,数据文件正常,没有发现问题

3.2 表及索引段检查

先定位出file# 34 block# 930501 slot 2 not found所涉及的表

SQL> select * from dba_extents where file_id=34 and 930501 between block_id and block_id+blocks;

OWNER                SEGMENT_NAME                   PARTITION_NAME                 SEGMENT_TYPE       TABLESPACE_NAME       EXTENT_ID    FILE_ID   BLOCK_ID      BYTES     BLOCKS RELATIVE_FNO
-------------------- ------------------------------ ------------------------------ ------------------ -------------------- ---------- ---------- ---------- ---------- ---------- ------------
PGDSISSAP            SAP_WO                                                        TABLE              SIS_DATA                      2         34     929801   41943040       5120           34

分析涉事的表及其索引,结果也正常

SQL> analyze table pgdsissap.sap_wo validate structure cascade;
Table analyzed.

清空buffer_cache后,做一次全表扫描涉事的表,还是正常

ALTER SYSTEM FLUSH BUFFER_CACHE;
select * from pgdsissap.sap_wo
 COUNT(*)
----------
    298678

4.结论:

最后,结合整理网上网友观点:
坏块可能出现再内存中,经过一段时间,buffer cache中的坏块内容已经被age out(老化),所以已经无法重现(甚至不用做任何操作)

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

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

相关文章

在Ubuntu Linux系统上安装RabbitMQ服务并解决公网远程访问问题

文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 RabbitMQ是一个在 AMQP(高级消息队列协议)基…

数据资产入表 先行者数据宝在做什么?

2023年8月21日,财政部印发了《企业数据资源相关会计处理暂行规定》,规定数据将作为资产进入企业资产负债表,具体是将数据确认为企业资产负债表中“资产”一项,在财务报表中体现其真实价值与业务贡献。入表意味着数据完成了从自然资…

ChatGPT 实现动态地图可视化展示

地图可视化分析有许多优点和好处: 1.直观理解:地图可视化使得复杂的数据更易于理解。通过地图可视化,人们可以直观地看到地理位置、地区之间的关系以及空间分布的模式。 2.提高决策效率:地图可视化可以帮助决策者快速理解和解释数据,从而提高决策效率。 3.高效的数据整…

streamlit--构建对话式应用程序

聊天元素 st.chat_message st.chat_input 构建镜像回复输入内容的机器人 使用流式传输构建简单的聊天机器人 构建一个类似ChatGPT的应用程序 参考资料 streamlit-构建对话式应用程序

iOS开发Swift-4-IBAction,group,音乐播放器-木琴App

1.使用素材创建木琴App的UI。 2.连接IBAction。 其余按钮直接拖拽到play里边。 当鼠标置于1处时2处显示如图,表示成功。当用户按下任一按钮都会触发play中的内容。 3.将7个按钮的View中的Tag值分别调为1、2、3、4、5、6、7. 4.将音频文件拖入项目文件中。 Create gr…

一篇文章告诉你JavaScript 如何实现继承

一、背景简介 JavaScript 在编程语言界是个特殊种类,它和其他编程语言很不一样,JavaScript 可以在运行的时候动态地改变某个变量的类型。 比如你永远也没法想到像isTimeout这样一个变量可以存在多少种类型,除了布尔值true和false&#xff0…

大数据平台数据脱敏是什么意思?有哪些方案?

大数据平台包含了海量多样化数据,所以保障大数据平台数据安全非常重要,数据脱敏就是手段之一。今天我们就来简单聊聊大数据平台数据脱敏是什么意思?有哪些方案? 大数据平台数据脱敏是什么意思? 大数据平台数据脱敏简…

Golang数据结构和算法

Golang数据结构和算法 数据的逻辑结构和物理结构常见数据结构及其特点算法的时间复杂度和空间复杂度Golang冒泡排序Golang选择排序Golang插入排序Golang快速排序Golang归并排序Golang二分查找Golang sort包Golang链表Golang container/list标准库Golang栈stackGolang二叉搜索树…

域内密码喷洒

在Kerberos阶段认证的AS-REQ阶段,请求包cname对应的值是用户名,当用户名存在时候,密码正确和错误两种情况下,AS-REP返回包不一样,所以可以利用这一点对域用户名进行密码喷洒攻击 域内密码喷洒工具 Kerbrute kerbrut…

62.C++ deque容器

目录 1.deque容器基本概念 2.deque与vector区别: 3.deque构造函数 4.deque赋值操作 5.deque大小操作 6.deque双端操作和删除 7.deque数据存取 8.deque插⼊操作 9.deque删除操作 1.deque容器基本概念 deque是⼀种双向开⼝的连续线性空间。所谓的双向开⼝&…

找不到vcruntime140.dll,无法继续执行代码。可行的解决方法分享

在日常使用电脑的过程中,我们可能会遇到各种问题,其中之一就是提示“由于找不到 VCRUNTIME140.dll,无法继续执行代码。重新安装程序可能会解决此问题。”,这一般是什么原因导致了这个问题,我们要如何解决? …

14:00面试,14:10就出来了,问的问题有点变态......

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到5月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…

亚马逊云科技GenAI菁英创造营,致力于大模型时代高校AI人才培养

大语言模型(LLM)产业的蓬勃发展将改变数字产业生态,助力AI工业化进程、变革海量应用交互方式、创造数字产业新的增长空间。 “GenAI Talent Program”由亚马逊云科技特别打造,该计划致力于大模型时代高校AI人才培养,通…

36种水果和蔬菜识别(pytorch框架,深度卷积网络模型,可以实现照片连续识别和视频识别)

1.效果视频:36种水果和蔬菜识别(pytorch框架,深度卷积网络模型,可以实现照片连续识别和视频识别)_哔哩哔哩_bilibili 2.项目文件夹 第一个文件夹(data): 装载的是原始图像 第二个文…

Spring Cloud 微服务2

Eureka 注册中心,服务的自动注册、发现、状态监控 Ribbon 负载均衡,Eureka中已经集成了负载均衡组件 Hystrix 熔断器,用于隔离访问远程服务、第三方库,防止出现级联失败。 Feign 远程调用,将Rest的请求进行隐藏&a…

全面解析MES系统中的报工操作

一、报工操作的定义: 报工操作是指在生产过程中,操作员通过MES系统记录和提交生产工序的相关信息,如工时、产量、质量等。报工操作将生产过程中的实际情况反馈给MES系统,实现生产数据的实时采集和记录。 二、报工操作的流程&…

骨传导耳机头晕,想吐怎么办?骨传导耳机会不会脑震荡

在解答骨传导耳机佩戴会头晕的这个现象,我先简单介绍一下,什么是骨传导耳机? 骨传导耳机可以理解为以人类骨头为媒介,声音通过骨头的振动传递到人的听觉神经再传递到听觉中枢,它是声音的一种传导方式,只不…

单片机通用学习-​什么是寄存器?​

什么是寄存器? 寄存器是一种特殊的存储器,主要用于存储和检查微机的状态。CPU寄存器用于存储和检查CPU的状态,具体包括计算中途数据、程序因中断或子程序分支时的返回地址、计算结果为零时的负值、计算结果为零时的信息、进位值等。 由于CP…

4、DVWA——文件包含

文章目录 一、文件包含概述二、low2.1 源码分析2.2 通关分析 三、medium3.1 源码分析3.2 通关思路 四、high4.1 源码分析4.2 通关思路 五、impossible 一、文件包含概述 文件包含是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(i…

金融风控数据分析-信用评分卡建模

本文引用自: 金融风控:信用评分卡建模流程 - 知乎 (zhihu.com) 在原文的基础上加上了一部分自己的理解,转载在CSDN上作为保留记录。 本文涉及到的数据集可直接从天池上面下载: Give Me Some Credit给我一些荣誉_数据集-阿里云…