java - Oracle 资源管理器未将 CPU 分配给查询
问题描述
Oracle 资源管理器未将 CPU 分配给查询。我们的应用程序在同一个会话中执行许多查询,但不知何故,从今天开始它总是卡在一个特定的查询上(以前它运行良好超过 3 年)并且在与 DBA 检查时发现它正在等待事件resmgr :cpu 量子
虽然当我从我的 SQL 开发人员那里运行相同的查询时,它运行时没有任何问题。我已经检查过没有锁并且 CPU 上的负载也很小,但我相信这并不重要,因为查询甚至没有让 CPU 执行。
以下是我的 Oracle 版本详细信息
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64 位生产,
PL/SQL 版本 12.1.0.2.0 - 生产,“CORE 12.1.0.2.0 生产”
适用于 Linux 的 TNS:版本 12.1.0.2.0 - 生产
NLSRTL 版本 12.1.0.2.0 - 生产
有人可以指导资源管理器仅为此特定查询分配 CPU 的原因。查询中没有提到任何提示
解决方案
要有效地监控和调整数据库资源管理器,您必须设计一个有代表性的环境。数据库资源管理器在系统利用率高的大型生产环境中效果最佳。如果测试对系统施加的负载不足,则测量的 CPU 分配可能与活动资源计划中指定的分配有很大不同。
去做这个
- 创建一个将执行一些统计的作业。
- 创建计划
- 创建消费者组
- 创建计划指令
- 验证并提交计划
- 组切换
- 在连接时为数据库的用户“CRC”分配一个默认的初始消费者组
推荐阅读
- python - 通过 REST API(使用 Python)使用 Adobe PDF 服务将 PDF 转换为 DOCX
- json - PowerShell - 读取 JSOn 文件,使用字符串插值
- python - 比较值是列表但具有相同键的 2 个字典
- java - 如何在 Java *with Flutter* 中禁用证书验证?
- xml - Ansible XML - 仅检索匹配的值
- node.js - 如何在带参数的路由中使用正则表达式?
- node.js - 使用 API 密钥 NodeJS 将视频上传到 Youtube
- css - 在 ios 14.6 中选择下拉菜单?
- php - php 中的 CURL 在我的页面中返回显示文本
- java - map.replace() 和 map.put() 用于在 Collection Framework 中更新 Map 中的值的区别