oracle 19c数据库W00n进程使用很多PGA内存资源的分析

今天,客户反馈测试环境的数据库PGA资源不足,报错ORA-04036: 实例使用的 PGA 内存超出 PGA_AGGREGATE_LIMIT;分析是多个W00n进程使用大量PGA-触发了BUG,对应解决办法就是打补丁。(民间办法就是KILL进程、重启数据库),如下为分析过程:

报错信息:

java.sql.SQLException: ORA-04036: 实例使用的 PGA 内存超出 PGA_AGGREGATE_LIMIT atoracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445) atoracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396) atoracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879) atoracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450) atoracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192) atoracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)   oracle@localhost:/u01/app/oracle/diag/rdbms/cdb1/cdb1/trace$oerr ora 4036 04036, 00000, "PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT" // *Cause: Private memory across the instance exceeded the limit specified // in the PGA_AGGREGATE_LIMIT initialization parameter. The largest // sessions using Program Global Area (PGA) memory were interrupted // to get under the limit. // *Action: Increase the PGA_AGGREGATE_LIMIT initialization parameter or reduce // memory usage.     pga_aggregate_limit limit of aggregate PGA memory consumed by the instance  

问题分析:

查看总的PGA分布:select sum(pga_alloc_mem)/(1024*1024) "Mbytes allocated", sum(pga_used_mem)/(1024*1024) "Mbytes used" from v$process;

查找占用内存多的进程:使用SQL;

SELECT DECODE(TRUNC(SYSDATE - LOGON_TIME), 0, NULL, TRUNC(SYSDATE - LOGON_TIME) || ' Days' || ' + ') ||
TO_CHAR(TO_DATE(TRUNC(MOD(SYSDATE-LOGON_TIME,1) * 86400), 'SSSSS'), 'HH24:MI:SS') LOGON,
SID, v$session.SERIAL#, v$process.SPID , ROUND(v$process.pga_used_mem/(1024*1024), 2) PGA_MB_USED,
v$session.USERNAME, STATUS, OSUSER, MACHINE, v$session.PROGRAM, MODULE
FROM v$session, v$process
WHERE v$session.paddr = v$process.addr ORDER BY 4 DESC ;

数据库版本为默认的19.3,未安装RU补丁包。分析此进程,是触发了BUG:Bug 30098251 - WNNN PROCCESSES CREATE AN EXCESSIVE NUMBER OF OPEN CURSORS investigated the issue where Wnnn process has high number of open cursors and consuming more memory.

关于此BUG的描述是:

Each Wnnn Background Process is consuming around 140MB of pga ( can be more as well) and holding hundreds of opened
cursors causing memory usage of instance to go high.
The sessions appear to remain open (session state ACTIVE), holding these cursors.
The Wnnn and SMCo processes appear to remain active for weeks at a time, as we can seen by logon time.

解决办法是:

1、民间办法:KILL进程、或者定期重启数据库。
2、官方办法:SOLUTION:
1. Apply Patch 30098251 available for your release and platform
OR
2. Upgrade to below releases where the fix for 30098251 is first included.
20.1.0
19.6.0.0.200114 (Jan 2020) Database Release Update (DB RU)
18.9.0.0.200114 (Jan 2020) Database Release Update (DB RU)
12.2.0.1.200114 (Jan 2020) Database Release Update (DB RU)
12.1.0.2.200114 (Jan 2020) Database Proactive Bundle Patch
12.2.0.1.200114 (Jan 2020) Bundle Patch for Windows Platforms
There is no workaround for this issue.

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

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

相关文章

激光车型识别仪:交通管理领域的技术革新与应用探索

激光车型识别仪:交通管理领域的技术革新与应用探索 在交通管理领域,随着技术的不断进步,各种智能化设备逐渐崭露头角。其中,激光车型识别仪作为一种基于激光技术的车辆识别设备,正以其高精度、强抗干扰能力等特点&…

智能助手大比拼!5款热门思维导图软件细致评估!

思维导图是一种创造性的方法,集思广益,寻找不同想法之间的联系。如果你做得好,你可以为难题提出新的想法和解决方案,总结一篇文章或演示稿,让你的想法井然有序。在数字时代,纸质思维导图存在不能随意更改、…

C语言练习:变种水仙花数

今天让我们来看看变种的水仙花吧,话不多说,直入主题。 题目描述 变种水仙花数- Lily Number: 把任意的数字,从中间拆分成两个数字,比如1461可 以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和…

SD-WAN企业组网:多样化的应用场景

随着企业网络环境的快速发展,SD-WAN技术正成为实现站点间网络互通的关键所在。它不仅支持企业站点对因特网、SaaS云应用和公有云等多种业务的高效访问,更能满足多样化的业务需求。深入探讨SD-WAN的组网应用场景,我们能够发现其广泛的适用性和…

Springboot+Vue项目-基于Java+MySQL的房产销售系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

【Shell语言学堂】sed命令最全详解

三剑客之sed linux sed命令详解1.简介2.定址3.sed选项4.正则表达式元字符5.具体应用1、行打印2、替换指定文本3、插入文本行,追加文本行4、sed命令的删除功能5、其他命令6、sed 的分组替换功能7、sed -r或者sed -E linux sed命令详解 CSDN划过手的泪滴t 1.简介 se…

「51媒体」如何有效进行媒体邀约,提升宣传传播效果?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 进行有效的媒体邀约,提升宣传传播效果的关键在于策略性和专业性。以下是具体的做法: 明确目标:要确立清晰的品牌推广目标和策略,包括确定目…

【程序分析】5-6 数据流分析基础

目录 数据流分析迭代的结束点就是到达了一个函数的不动点 偏序 上界和下界、上确界和下确界 上界和下界 上确界和下确界 一些性质 格 半格 全格 product lattice 数据流分析和格 数据流分析的几个问题 第一问 第二问 第三问 lattice 上的单调性 lattice 不动点…

优惠券布局的最终方案------css属性mask

先贴图&#xff1a; 以上这些都是通过mask去实现出来&#xff1a; <!DOCTYPE html><html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&g…

009Node.js自定义模块通过exports的使用(一)

module/tool.js function formatApi(api){return "http://www.shixiaobin.com/"api } exports.formatApiformatApi;app.js //引入http模块 const httprequire(http);const toolsrequire(./module/tools.js);console.log(tools);http.createServer(function (req,res…

基于STM32的RFID智能门锁系统

本文针对RFID技术&#xff0c;着重研究了基于单片机的智能门锁系统设计。首先&#xff0c;通过链接4*4按键模块与主控STM32&#xff0c;实现了多种模式&#xff0c;包括刷卡开锁、卡号权限管理、密码开锁、修改密码、显示实时时间等功能。其次&#xff0c;采用RC522模块与主控S…

1231: 寻找出现次数最多的数

解法&#xff1a; #include<iostream> #include<algorithm> #include<vector> #include<unordered_map> #include<utility> using namespace std; int main() {int n, a;cin >> n;unordered_map<int, int> mp;while (n--) {cin >…