网站首页 > 技术文章 正文
上周四凌晨一点被业务人员电话叫醒,业务层面晚上的批处理任务持续了3小时还没有跑完,按照业务统计的处理进度到第二天早上8点都没法处理完毕,严重影响第二天的业务进展。晚上需要紧急处理。
联系客户方运维,登录数据库查看发现数据库有若干的resmgr:cpu quantum等待事件。于此同时业务服务全部再处理,但是数据库的CPU使用率一直稳定再20%左右。
根据这个情况,这是数据库的资源管理器限制了数据库资源的使用。数据库cpu限额。事件类别是Scheduler,说明与调度相关。查看数据库参数:
用户的数据库版本为11.2.0.4。该参数为空,但是有同时又三个调度任务需要手动关闭,分别是统计信息收集调度任务,auto space advisor, sql tunning advisor。这三个调度任务如果没有关闭,同样会触发数据库资源管理器,从而限制数据库资源的使用。典型的特征就是数据库有resmgr:cpu quantum等待事件产生。
故障处理:
1、关闭数据库三个自动调度任务,方法如下:
---自动分段顾问:标识出应该被重组的段以节约空间,任务名是"auto space advisor"
BEGIN
DBMS_AUTO_TASK_ADMIN.disable(
client_name => 'auto space advisor',
operation => NULL,
window_name => NULL);
END;
/
------关闭sql tunning
BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
/
----自动统计信息收集,关闭
begin
DBMS_AUTO_TASK_ADMIN.DISABLE(
client_name => 'auto optimizer stats collection',
operation => NULL,
window_name => NULL);
end;
/
2、关闭隐含参数(需要重启)
alter system set "_resource_manager_always_off"=TRUE scope=spfile sid='*';
alter system set "_resource_manager_always_on"=FALSE scope=spfile sid='*';
故障总结:
1、对于7 * 24小时需要生产的业务系统。数据库必须关闭资源管理器和三个自动调度任务.
2、尽量不要依靠数据库的自动调度任务处理,最常见如统计信息收集,数据库统计信息收集常规的调度是周一到周五晚上10点到凌晨2点,周六周日全天。该任务触发还有其他条件,如表的数据变动量超过5%也会触发,这样就会导致在业务高峰期也触发了统计信息收集。最理想的方案是在数据库主机配置crontab每天凌晨基于业务用户手动收集一次。
3、resmgr:cpu quantum等待事件一旦产生马上想到的就是数据库自动调度和资源管理器相关参数,需要立即关闭,不然数据库的业务方一直限制资源使用率在20%左右。严重影响生产业务性能。
猜你喜欢
- 2024-11-07 使用Sysbench测试统信UOS或麒麟KYLINOS的CPU性能
- 2024-11-07 Flink oracle cdc - Oracle Logminer
- 2024-11-07 安全与优化并重 甲骨文SPARC M7处理器解析
- 2024-11-07 AMD R7 4750G在java开发中的日常体验
- 2024-11-07 CPU百分百?别慌,教你迅速排查的三种姿势
- 2024-11-07 Oracle正式发布MySQL HeatWave Lakehouse
- 2024-11-07 VMWare向AMD处理器开刀:你核心多,就要多缴费
- 2024-11-07 作为一个DBA,怎么去做日常巡检--检查数据库cpu、I/O、内存性能
- 2024-11-07 结合我们公司的需求,看了ORACLE的收费,决定弃购!
- 2024-11-07 Oracle 中查找 CPU 使用最多的会话或 SQL 查询
你 发表评论:
欢迎- 617℃几个Oracle空值处理函数 oracle处理null值的函数
- 610℃Oracle分析函数之Lag和Lead()使用
- 599℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 595℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 591℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 582℃【数据统计分析】详解Oracle分组函数之CUBE
- 572℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 560℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- PageHelper - 最方便的 MyBatis 分页插件
- 面试二:pagehelper是怎么实现分页的,
- MyBatis如何实现分页查询?(mybatis-plus分页查询)
- SpringBoot 各种分页查询方式详解(全网最全)
- 如何在Linux上运行exe文件,怎么用linux运行windows软件
- 快速了解hive(快速了解美国50个州)
- Python 中的 pyodbc 库(pydbclib)
- Linux搭建Weblogic集群(linux weblogic部署项目步骤)
- 「DM专栏」DMDSC共享集群之部署(一)——共享存储配置
- 故障分析 | MySQL 派生表优化(mysql pipe)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)