【案例44】Oracle启用“_optimizer_skip_scan_enabled” 参数导致NC系统卡死问题

embedded/2024/11/15 0:20:54/

问题现象

客户反映系统卡顿,很多操作耗时都比较长,通过nmc监控,线程耗时主要集中在数据库上。

问题分析 

首先监控数据库服务器资源使用情况,CPU、内存使用正常,没有达到峰值。

监控磁盘IO情况,发现磁盘最长活动时间持续达到100%,说明系统磁盘io负载较高。

生成卡顿时段awr报告1:

可以看到2小时的awr报告DB Time达到7805mins,非常高。

用户IO为主要等待时间,占比57%。

进一步查看数据库参数配置。

select * from v$parameter order by name 

96G内存的数据库服务器oracle最大内存只分配了6.7G,调整数据库内存参数。

alter system set memory_max_target=66560M scope=spfile;
alter system set memory_target=66560M scope=spfile;
alter system set sga_max_size=66560M scope=spfile;

调整后业务依然很慢,nmc监控仍然在数据库端,再次生成一个卡顿时段的awr报告。

可以看到1小时的awr报告DB Time达到2739mins,依然很高。

等待事件不再是IO,而是latch free。

查看数据库上事件为latch free的会话,发现闩锁ID为559。

select * from v$session_wait where event like 'latch free' ;

查看559对应的latch name,为Result Cache: RC Latch。

select * from v$latchname where latch#=559;

解决方案 

通过oracle官方支持网站mos查询问题,发现跟oracle12c新特性有关。

可通过如下隐含参数解决:

alter system set "_optimizer_skip_scan_enabled"=FALSE scope=spfile;

修改后系统正常。 


http://www.ppmy.cn/embedded/94871.html

相关文章

【零基础学习CAPL】——脱离CDD使用CAPL脚本实现诊断报文的发送与接收

🙋‍♂️【零基础学习CAPL】系列💁‍♂️点击跳转 文章目录 1.概述2.CAPL实现2.1. 变量定义2.2. 创建发送和响应数据打印 的自定义函数2.3.创建需要发送的诊断报文函数2.4.创建存储回复值函数2.5.期望值与实际值对比2.6.测试用例编写以及调用3.报告输出1.概述 本章主要介…

IDEA 报错,无效的源发行版 无效的目标发行版:22

报错内容: 在编译项目的时候出现报错: 解决办法: 无效的源发行版 原因:编译的JDK版本与发布版本不一致 File -> Project Structure ->Project Settings 让其中的三处版本保持一致,具体操作如下: …

解析os.platform与os.arch:如何准确判断Node.js环境中的Windows操作系统及其位数

os.platform() 方法在 Node.js 中返回的是操作系统平台的标识符,而不是特指操作系统的位数(如 32 位或 64 位)。对于 Windows 操作系统,os.platform() 通常返回 win32,即使你的系统是 64 位的 Windows。 这个返回值 w…

Docker Swarm 搭建

Docker Swarm 搭建 1. 环境介绍 操作系统Centos 7Centos 7Centos 7内核版本Linux 3.10.0-957.el7.x86_64Linux 3.10.0-957.el7.x86_64Linux 3.10.0-957.el7.x86_64主机名称swarm-managerswarm-worker1swarm-worker2IP192.168.1.100192.168.1.200192.168.1.250Docker Domain20…

从0开始搭建vue + flask 旅游景点数据分析系统(九):旅游景点管理之增删改查

这一期来做旅游景点数据的增删改查 先看下我们做好的效果是这样的: ## 1 后台接口 这里的接口已经考虑到了分页的情况,因为前端的表格是带有分页的,接受的前端传过来的get参数为 title 、page、 limit ,titie是查询的关键词&…

idea 对于mybatis-plus框架JRebelX和XRebel热启动失效问题

1.mybatis-plus不需要使用热启动插件,修改完代码后,直接重新编译一下即可,不需要重启 2.如果是mapper.xml文件,则直接安装JRebel MybatisPlus extension 插件即可完成mapper.xml静态文件更改进行热加载

【redis】redis数据迁移和数据审计学习

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…

算法题详解

关键字标识&#xff1a; 问题描述 你有一个关键词列表和一个字符串。你需要在字符串中用 HTML 标签 <b></b> 标记出所有出现的关键词&#xff0c;并且将所有相邻或交叠的标签合并成一个标签。例如&#xff1a; 如果字符串中有 "opqr" 和 "cd&quo…