某客户数据库系统节点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执行效率极差。建议在有数据移动的操作后,及时维护索引。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值