**** oracle 数据库-监听故障处理-故障单

news/2024/12/31 3:47:29/文章来源:https://www.cnblogs.com/bayaim/p/18410689

**** 数据库-监听故障处理-故障单

 

 

**** 数据库-监听故障处理

故障反馈人

张**

工单接收时间

2024年9月11日 9:10

审核/复核人

张**/张***

处理完毕时间

2024年9月11日 9:22

报告人

柏*

报告时间

2024年9月11日11:22

故障环境

IP: 180.5.115.**   数据库版本: 10.2.0.4.0

故障现象

告警时间:

起始于:2024-09-10 22:00

 

告警现象:

数据库监听程序存在,客户端访问时,监听程序卡死。

故障分析

 

查询系统日志:

Sep 10 14:24:04 zbzl kernel: ps[31279]: segfault at 0 ip 00007f8f21ab9795 sp 00007ffeaa2355c8 error 4 in libc-2.12.so[7f8f21993000+197000]

这种信息一般都是由内存访问越界造成的,不管是用户态程序还是内核态程序访问越界都会出core, 并在系统日志里面输出一条这样的信息。

其中 kernel 后面的ps 代表程序名,[31279]进程ID号,

error number是4, 转成二进制就是100, 即bit2=1, bit1=0, bit0=0, 按照上面的解释,我们可以得出这条信息是由于用户态程序读操作访问越界造成的。

error number是由三个字位组成的,从高到底分别为bit2 bit1和bit0,所以它的取值范围是0~7.

bit2: 值为1表示是用户态程序内存访问越界,值为0表示是内核态程序内存访问越界

bit1: 值为1表示是写操作导致内存访问越界,值为0表示是读操作导致内存访问越界

bit0: 值为1表示没有足够的权限访问非法地址的内容,值为0表示访问的非法地址根本没有对应的页面,也就是无效地址

 

在最近一段时间 ,监听程序也有内存越界情况,

查询数据库告警日志:

Tue Sep 10 22:00:03 2024

Errors in file /oracle/admin/zbzl/bdump/zbzl_j000_12876.trc:

ORA-07445: exception encountered: core dump [ksdfsql()+245] [SIGSEGV] [Address not mapped to object] [0x000000358] [] []

ORA-00600: internal error code, arguments: [kghstack_free2], [], [], [], [], [], [], []

 

ksedmp: errors signalled while dumping diagnostics

ORA-00607: Internal error occurred while making a change to a data block

ORA-00602: internal programming exception

ORA-07445: exception encountered: core dump [kgidmp()+613] [SIGSEGV] [unknown code] [0x000000000] [] []

ORA-07445: exception encountered: core dump [kgidmp()+613] [SIGSEGV] [unknown code] [0x000000000] [] []

ORA-07445: exception encountered: core dump [ksdfsql()+245] [SIGSEGV] [Address not mapped to object] [0x000000358] [] []

ORA-00600: internal error code, arguments: [kghstack_free2], [], [], [], [], [], [], []

Shadow_Core_Dump = PARTIAL

 

 

 

报错解释:

ORA-07445: exception encountered: core dump [kgidmp()+613] [SIGSEGV] [unknow]表明Oracle数据库遇到了一个未知的段错误(SIGSEGV),这通常是由于数据库内部错误或者内存问题引起的。

 

报错解释:

ORA-00602 是 Oracle 数据库中的一个错误代码,表示内部编程异常。这个错误通常发生在数据库的内核组件中,可能是由于数据库内部的程序错误或系统资源不足引起的。

它通常出现在Oracle服务器内部管理程序中,表明在执行一个存储过程时发生了无法自行处理的逻辑错误或系统内部发生故障。

 

解决办法:

1.在发生core dump 时候,程序名为: kgidmp 和ksdfsql ,由此可以判断在执行SQL时,传参数过大,或者在执行大表操作,导致共享内存不足,内存分配失败。

查询数据库SGA/PGA 配置确实有点低:

 

 

主机配置是 8C/16G,建议先增加配置,数据库可以先不升级处理

 

2.但是,oracle官方也给出建议是BUG:

经过查MOS,这是一个已知的BUG(18093317),说是数据库版本不同引起的。

通过应用补丁解决:

Patch 31103343: DATABASE PATCH SET UPDATE 11.2.0.4.200714

 

 

数据库时遇到ORA-07445错误的解决过程。该问题是已知bug,通过打补丁(Patch 10432045)来解决。

 

根据以上报错错误号,一般分析方向:

  1. 1.检查系统资源(如内存、CPU 使用率)是否处于正常状态,如果资源不足,尝试释放一些资源或优化系统配置。
  2. 2.如果错误是由于 Oracle 内核的bug引起的,可以考虑应用Oracle提供的补丁或者联系Oracle技术支持寻求帮助。

 

问题原因

  1. 在发生core dump 时候,程序名为: kgidmp 和ksdfsql ,由此可以判断在执行SQL时,传参数过大,或者在执行大表操作,导致共享内存不足,内存分配失败。建议扩展数据库SGA/PGA 和主机内存、核数。
  2. ORA-00602、ORA-07445 该问题是已知bug,通过打补丁安装来解决。

处理方案

与建议

处理过程:

1、 停止监听

停止不掉监听,杀掉监听进程

重启监听:

测试数据库使用正常。

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring声明式事务不生效?

背景 本篇博文将会讲一讲Spring中使用@Transactional注解会出现的不生效问题。事务的生效与否,一般不是我们冒烟自测的范围,测试也不会去测,但是一旦上线后,事务出现不生效的情况,就可能引发较大的问题,甚至会带来损失。所以,使用好事务注解是非常重要的,尤其是注意哪些…

UE4(5)逆向学习笔记(二)——寻找GWorld,GName和GUObjectArray

目录0.前言1.准备1.1 下载游戏《死寂(DeathlyStillness)》1.2 下载UE源码2.寻找GWorld3.寻找GName4.寻找GUObjectArray5.开始Dump5.结尾 0.前言 笔记(一)中我们了解了GWorld,GName和GUObjectArray是什么,也知道了想要使用UEDumper要获取到它们的偏移。 这次我们就以游戏《…

一个用于管理多个 Node.js 版本的安装和切换开源工具

大家好,今天给大家分享一个用于管理多个Node.js版本的工具 NVM(Node Version Manager),它允许开发者在同一台机器上安装和使用不同版本的Node.js,解决了版本兼容性问题,为开发者提供了极大的便利。在开发环境中,特别是在处理多个项目时,每个项目可能依赖于不同版本的 N…

2552.统计上升四元组

题目描述: 给你一个长度为 n 下标从 0 开始的整数数组 nums ,它包含 1 到 n 的所有数字,请你返回上升四元组的数目。 如果一个四元组 (i, j, k, l) 满足以下条件,我们称它是上升的: 0 <= i < j < k < l < n 且 nums[i] < nums[k] < nums[j] < num…

屏幕画笔、截图工具

水豚鼠标助手 用于做屏幕指导比较方便,鼠标换肤,屏幕画笔 https://shuitunapp.com/?from=txc //官网下载pixpin下载地址 这是一款好用的屏幕截图,贴图,gif制作 小工具 https://pixpinapp.com/

屏幕画笔和鼠标点击工具

https://shuitunapp.com/?from=txc //官网下载

disk-Linux磁盘IO性能测试方法-fio

disk-Linux磁盘IO性能测试方法-fio 测试随机写IOPS: fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=1000 -group_reporting -name=/path/testfile测试随机读IOPS: fio -direct=1 -iodepth=128 -rw=randread -ioengine=li…

单实例-oracle巡检模版 -20240912

单实例-oracle巡检模版 -20240912 —————————————————————————————————————————— ---- 2024年9月12日16:38:47 ---- bayaim ---- 以下内容纯属个人原创,纯属个人多年经验总结,非喜勿喷,Gun~ ——————————————————…

Yolo第Y2周:如何正确解读YOLO算法训练结果的各项指标

Yolo第Y2周:如何正确解读YOLO算法训练结果的各项指标🍨 本文为🔗IT男的一人企业中的学习记录博客 🍖 原作者:[IT男的一人企业]上一篇《详解YOLO检测算法的训练参数》讲了该如何设置参数训练。这一篇说说模型训练完,怎么看它训练的好不好。这就像开车跑长途,5个小时跑完…

微服务引擎 MSE 及云原生 API 网关 2024 年 8 月产品动态

微服务引擎 MSE 及云原生 API 网关 2024 年 8 月产品动态

MAT(Memory Analyzer Tool)下载和安装

一、下载 官网地址:https://www.eclipse.org/mat/点击download 由于要在本地电脑中运行,故选择window64位点击,进入如下页面点击DownLoad可能由于网速的原因,下载失败,故用以前的安装波,如下:解压:二、安装 点击MemoryAnalyzer.exe,就可以启动MAT工具。启动后界面如下…

pbootcms一个网站如何绑定两个域名

在PbootCMS中,一个网站绑定两个域名的方法主要涉及到在PbootCMS官网进行域名授权,并将获取的授权码填写到网站后台的相应位置。以下是详细的步骤说明: 1. 域名授权 首先,您需要登录到PbootCMS的官方网站,对需要绑定的两个域名进行授权。授权的具体流程可能因PbootCMS的版本…