某客户报表系统Oracle数据库挂起问题分析处理

news2024/9/23 17:11:47

某客户报表系统Oracle数据库挂起问题分析处理

一、概要

        某客户报表系统Oracle数据库在3月5号、6号均出现一节点实例短暂挂起现象,挂起现象有两种,第一是普通用户不能登录数据库,第二是sys用户可以登录数据库,但是做简单的select查询时数据库不能响应,查询挂起。

        客户这套数据库为两节点RAC,运行在某一体机上,数据库上应用在24小时执行跑批动作,数据库版本为11.2.0.4。

二、问题分析说明

2.1分析数据来源

        数据库中的awr报告、awr对比报告、ash报告、ash源数据、oswatch采集数据、OEM、数据库参数,由于数据库alert中没有明显的ora报错所以没有截取数据库的alter信息。

2.2分析过程

  • 3月5日出现短暂HANG的情况出现的时间点为

        sample_id='39901949'里全是跑批的事务,达681个,与此同时应用程序发起会话是并没有限制并行,会话最大并行达到了112个。

  • 该批量任务是造成数据库短暂HANG的原因

        可以看出会话出现大量等待,并且查询会话都开启了并行

  • 3月6号出现短暂HANG的情况出现的时间点非常多

        表中时间片上的活动事务均为跑P事务

  • 相对5号来说,6号的批量事务更多。所以HANG的时间相对更久

  • 以下为6号主要topsql

  • awr中看到的信息

从awr报告中可以看出耗时最长的事件发生在并行查询上

  • SQL耗时统计

  • 排在第一位的SQL语句
select count(*) from t47_xxxxxx t where organkey in ('64010018') and (t.validate_ind = '0' or t.validate_ind2 = '0') 

        这是一条简单的计数查询语句,因此表上索引存在并行,所以操作表是默认走了并行。

三、问题总结

        根据以上数据分析,这套数据库出现挂起现象时,该数据库中的会话均出现大量并行的操作,通过oem采集的数据发现个别会话并行数达到了112。由此可以确定这套数据库挂起原因为并行导致。

四、处理建议

  • 根据awr和执行计划,分析topsql耗时在哪方面,实行具体优化。
  • 控制批量事务的并行度,以CPU实际运行状态,和跑批SQL运行效率来调整并行度。
  • 该库为跑P数据库,相对来说,8GB内存太少了,可适当分配多一些内存给该库,提高跑P效率,且内存用的是自动管理,建议参照最佳实践进行配置。

五、附录

        1.虽然查出是并行引起的数据库挂起,但进一步分析以及询问应用方面人员后,发现某些表上建立索引的时候就运用了并行,所以导致每次操作表的时候默认走了索引的并行。

        2.出问题的数据库是部署在某一体机平台上的,并且该集群下创建了多套数据库实例。如果多个数据库上都有并行存在,在业务量集中到一个时间点的话,影响小的话会挂起节点实例,影响大的话可能会波及数据库服务器上的其他实例。这对于数据库来说是一个潜在的隐患。

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

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

相关文章

C判断一个点在三角形上

背景 鼠标操作时,经常要判断是否命中显示控件,特开发此算法快速判断。 原理 三角形三等分点定理是指在任意三角形ABC中,可以找到三个点D、E和F,使得线段AD、BE和CF均等分三角形ABC。 这意味着三个等分点分别位于三个边界上&…

数据湖表格式 Hudi/Iceberg/DeltaLake/Paimon TPCDS 性能对比(Spark 引擎)

当前,业界流行的集中数据湖表格式 Hudi/Iceberg/DeltaLake,和最近出现并且在国内比较火的 Paimon。我们现在看到的很多是针对流处理场景的读写性能测试,那么本篇文章我们将回归到大数据最基础的场景,对海量数据的批处理查询。本文…

具身大模型研究综述

源自:哈工大SCIR 作者:陈一帆,张宇驰,孙楚芮,冯怀绪,宋浩,王寄哲 指导老师:张伟男 注:若出现无法显示完全的情况,可 V 搜索“人工智能技术与咨询”查看完整…

什么叫图像的双边滤波,并附利用OpenCV和MATLB实现双边滤波的代码

双边滤波(Bilateral Filtering)是一种在图像处理中常用的非线性滤波技术,主要用于去噪和保边。它在空间域和像素值域上同时进行加权,既考虑了像素之间的空间距离,也考虑了像素值之间的相似度,从而能够有效地…

赛氪网荣获2024年中国高校计算机教育大会合作伙伴荣誉

2024年7月13日,在黑龙江哈尔滨召开的“2024年中国高校计算机教育大会(CCEC2024)”,环球赛乐(北京)科技有限公司(以下简称”赛氪网“)凭借其在高等教育与科技创新领域的卓越贡献,荣幸地获得了本次…

SpringBoot详细解析

1.什么是springboot springboot也是spring公司开发的一款框架。为了简化spring项目的初始化搭建的。那么spring对应springboot有什么缺点呢? spring项目搭建的缺点: 配置麻烦依赖tomcat启动慢 2.springboot的特点 自动配置 Spring Boot的自动配置是一个运行时&…

Docker之在外执行docker内部命令(十一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP…

react + redux 状态管理操作

目录 1 概念2 Redux 安装3 创建子模块并导入4 中间件为 react 注入 store5 在组件中使用 store 数据6 修改 store 数据7 提交 action 传参8 异步状态操作9 redux 调试工具 1 概念 Redux 是一个全局状态管理的 JS 库 2 Redux 安装 在react中使用redux,官方要求安…

「网络通信」HTTP 协议

HTTP 🍉简介🍉抓包工具🍉报文结构🍌请求🍌响应🍌URL🥝URL encode 🍌方法🍌报文字段🥝Host🥝Content-Length & Content-Type🥝User…

Ubuntu使用K3S一分钟快速搭建K8S集群

快速入门指南 | Rancher文档 准备3台服务器 Master节点安装脚本# K3s 提供了一个安装脚本,可以方便的在 systemd 或 openrc 的系统上将其作为服务安装。这个脚本可以在 https://get.k3s.io 获得。要使用这种方法安装 K3s,只需运行以下命令:…

[超级详细系列]ubuntu22.04配置深度学习环境(显卡驱动+CUDA+cuDNN+Pytorch)--[3]安装cuDNN与Pytorch

本次配置过程的三篇博文分享分别为为: [超级详细系列]ubuntu22.04配置深度学习环境(显卡驱动CUDAcuDNNPytorch)--[1]安装显卡驱动 [超级详细系列]ubuntu22.04配置深度学习环境(显卡驱动CUDAcuDNNPytorch)--[2]安装Anaconda与CUDA [超级详细系列]ubuntu22.04配置深…

sql server 练习题5

课后作业 在homework库下执行 作业1: 案例:根据用户分数划分等级。小于60分为不及格,[60,80)为及格,[80,90)为良好,大于等于90分以上为优秀。 建表语句: CREATE TABLE Grades ( ID INT PRIMARY KEY, Name V…

数电基础 - 时序逻辑电路

目录 一. 简介 二. 分析方法 三. 常用的时序逻辑电路 四. 冒险现象 五. 总结 一. 简介 时序逻辑电路是数字电路的重要组成部分,与组合逻辑电路不同,它在任何时刻的输出不仅取决于当时的输入信号,还与电路原来的状态有关。 时序逻辑电路…

pytorch 是如何调用 cusolver API 的调用

0,环境 ubuntu 22.04 pytorch 2.3.1 x86 RTX 3080 cuda 12.2 1, 示例代码 以potrs为例; hello_cholesk.py """ hello_cholesky.py step1, Cholesky decompose; step2, inverse A; step3, Cholesky again; python3 hello_cholesky.py -…

【Django+Vue3 线上教育平台项目实战】构建课程详情页与集成视频播放功能

文章目录 前言一、课程列表页面a.后端代码b.前端代码 二、课程详情页面a. 视频播放功能的集成1.获取上传视频的链接地址2.集成在前端页面中1>使用vue-alipayer视频播放组件2>使用video标签 b. 页面主要内容展示1.后端代码1>分析表2>核心逻辑 2.前端代码3.效果图 前…

网络编程笔记

网络编程 1. 概念 1.1 局域网 局域网:局域网将一定区域的各种计算机、外部设备和数据连接起来形成计算机通信的私有网络 广域网:又称广域网、外网、公网。是连接不同地区局域网或城域网计算机通信的远程公共网络 1.2 IP 本质是一个整形数&#xff…

electron实现右键菜单保存图片功能

1.创建窗口,加载页面,代码如下: //打开窗口const {ipcMain, BrowserWindow} require("electron") const saveImage require("../ipcMain/saveImage") let win null; ipcMain.handle(on-open-event, (event, args) &g…

Oralce笔记-解决Oracle18c中ORA-28001: 口令已经失效

远程已经连不上了,需要登陆到安装Oracle的机器,使用sqlplus直接连。 sqlplus / as sysdba 登陆进去后修改期限为无限制: ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED 对于已经告警提示密码已过期的数据库,需要…

顺序表<数据结构 C 版>

目录 线性表 顺序表 动态顺序表类型 初始化 销毁 打印 检查空间是否充足(扩容) 尾部插入 头部插入 尾部删除 头部删除 指定位置插入 指定位置删除 查找数据 线性表 线性表是n个相同特性的数据元素组成的有限序列,其是一种广泛运…

vue实现动态图片(gif)

目录 1. 背景 2. 分析 3. 代码实现 1. 背景 最近在项目中发现一个有意思的小需求,鼠标移入一个盒子里,然后盒子里的图就开始动起来,就像一个gif一样,然后鼠标移出,再按照原来的变化变回去,就像变形金刚…