当前位置: 首页 > news >正文

某客户数据库系统节点1 CPU使用率过高问题分析处理

一、故障描述

某日早上9:00发现CRM节点一CPU使用率比平时高,到达90%左右。通过巡检日志,发现有分区索引失效。

二、故障分析

2.1 查看数据库的等待事件

从上面看以看出gc buffer busy等待比较严重,会话数达200之多。

从上可以看出引起gc buffer busy 的主要sql_id 为3gstz9qcvj064。

查看该问题sql的执行计划,发现表TL_B_NOTIFYTRADELOG执行了全分区表扫描。这样的执行计划很定很消耗资源的。通常来说,sql执行计划很糟糕,首先查看该表的统计信息是否准确。

由上面统计信息可以看出,该表的收集的统计信息已经过期。且部分分区未能有统计信息显示。

查看索引状态

SQL> select t2.owner,t1.index_name,t2.table_name,t1.partition_name,t1.status

2 from dba_ind_partitions t1,dba_indexes t2

3 where t1.index_name=t2.index_name

4 and t2.owner='UCR_UIF1'

5 and t1.index_name in('IDX_TL_B_NOTIFYTRADELOG_1','IDX_TL_B_NOTIFYTRADELOG_2');

OWNER INDEX_NAME TABLE_NAME PARTITION_NAME STATUS

---------- ------------------------------ -------------------- ------------------------------ --------

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_1 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_2 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_3 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_4 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_5 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_6 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_7 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_8 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_9 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_10 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_11 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_12 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_13 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_14 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_15 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_16 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_17 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_18 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_19 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_20 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_21 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_22 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_24 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_25 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_26 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_27 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_28 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_29 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_30 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_31 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_1 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_2 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_3 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_4 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_5 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_6 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_7 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_8 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_9 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_10 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_11 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_12 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_13 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_14 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_15 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_16 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_17 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_18 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_19 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_20 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_21 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_22 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_23 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_24 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_25 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_26 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_27 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_28 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_29 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_30 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_2 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_31 UNUSABLE

UCR_UIF1 IDX_TL_B_NOTIFYTRADELOG_1 TL_B_NOTIFYTRADELOG P_I_TL_B_NOTIFYTRADELOG_23 UNUSABLE

从上可以看出分区索引失效。由于分区索引失效,sql 执行计划糟糕,进行了全分区表扫描,从而消耗了更多的cpu资源。

三、故障处理

索引出现失效时,应当重建失效索引,并及时收集表的统计信息系。

四、总结建议

由于本次索引失效是由于数据清理造成分区索引失效。导致sql执行效率极差。建议在有数据移动的操作后,及时维护索引。

http://www.jsqmd.com/news/471435/

相关文章:

  • Qwen3-TTS-12Hz-1.7B-Base在游戏开发中的应用:角色语音生成实践
  • Blender3mfFormat:解决3D打印数据断层的格式转换方案
  • 协程调度器崩溃、内存泄漏、上下文丢失——PHP 8.9 Fiber上线首周踩坑全复盘,附5行修复代码
  • 高效管理JetBrains IDE评估周期:开源工具技术解析与实践指南
  • SiameseUIE模型在网络安全领域的创新应用
  • 2026年职场打工人效率手册:用Gemini搞定周报、PPT、数据分析
  • lingbot-depth-pretrain-vitl-14部署教程:GPU显存仅需2GB的ViT-Large深度模型快速上手
  • Llama-3.2V-11B-cot实战教程:用app.py快速构建Web API支持多图批量推理
  • 从零到一:基础模型驱动的AI应用开发实战指南
  • E57点云格式:从开源标准到三维数据交换的桥梁
  • Qwen-Image-Edit-2511-Unblur-Upscale实战:3分钟修复模糊人像,效果堪比专业修图
  • Qwen2.5-72B大模型应用:建筑图纸描述生成+施工规范条款引用实践
  • ESP-AT固件定制全指南:网页编译、端口重映射与自定义AT命令开发
  • 基于Anything V5的AI绘画实战:从部署到生成动漫图片全流程
  • 视频转文字效率提升指南:从B站视频到可编辑文本的完整解决方案
  • GitHub使用教程:参与Jimeng LoRA开源项目贡献
  • AI8051U双板开发平台:QFP48最小系统与DIP40模块化拓展设计
  • Blender3mfFormat插件全解析:3D打印工作流的革新解决方案
  • CLIP-GmP-ViT-L-14作品分享:农业病害叶片图→防治方案/农药推荐/专家解读匹配
  • 下垂系数计算
  • ESP-AT自定义命令开发与系统级优化实战指南
  • 立创RGBWW全彩补光灯V2.0:基于STM32F051的硬件设计与电源管理详解
  • GME-Qwen2-VL-2B-Instruct 提示词(Prompt)工程高级教程:精准控制视觉问答输出
  • RexUniNLU模型解释性研究:理解模型决策过程
  • GLM-4v-9b镜像免配置教程:transformers/vLLM/GGUF三端快速上手
  • 颠覆传统学习:3大核心技术让网课效率提升200%
  • 深入解析build.prop:优化Android系统性能与游戏体验的终极指南
  • RetinaFace部署教程:Docker镜像内Python 3.11环境与PyTorch版本兼容性验证
  • 从此告别拖延! 降AI率平台 千笔·降AI率助手 VS 灵感ai 专科生首选
  • 智能抢票新纪元:DamaiHelper自动化引擎如何重构演出票务获取逻辑