文档首页/ 数据仓库服务 DWS/ 用户指南/ DWS集群运维/ 查看并订阅DWS集群告警/ DWS告警处理/ DWS_2000000023 DWS集群中存在持有锁过长的vacuum full操作
更新时间:2026-09-15 GMT+08:00
分享

DWS_2000000023 DWS集群中存在持有锁过长的vacuum full操作

告警解释

数据表执行vacuum full操作会持有八级锁,如果对某张表执行vacuum full操作且持有锁周期超过20分钟(可配置)时,则上报集群中存在持有锁过长的vacuum full操作的重要告警;当vacuum full结束后,则消除该重要告警。

告警属性

告警ID

告警归属

告警级别

告警类型

业务类型

是否可自动清除

DWS_2000000023

租户面

重要

操作告警

数据仓库服务

告警参数

类别

参数名称

参数含义

定位信息

名称

DWS集群中存在持有表锁过长的vacuum full操作。

类型

操作告警。

发生时间

告警发生时间。

附加信息

集群ID

集群resourceId、domain_id等详细信息。

告警指标

调用获取指定指标相关采集数据 - ListMetricsDataAPI接口获取该告警指标,其中接口中的指标名称为SessionStats

  • 请求示例
    GET https://{Endpoint}/v1/{project_id}/clusters/{cluster_id}/dms/metrics/SessionStats?offset=0&limit=1&from=1786782138946&to=1786785551018&order_by=ctime&sort_by=desc
  • 响应示例

    告警指标为响应结果中的lock_mode不为"-"lock_relname不为"-"stmt_type为VACUUM,其中lock_mode表示锁模式;lock_relname表示锁等待的资源;stmt_type表示语句类型。

    {
     "code": 0,
     "msg": "OK",
     "data": [
      {
       "virtual_cluster_id": 81882,
       "waiting": false,
       "query_id": "0",
       "backend_start": 1786782298,
       "user_name": "Ruby",
       "pid": "140504051969432",
       "resource_pool": "default_pool",
       "client_port": "20482",
       "application_name": "wlm",
       "elapsed_time": 11,
       "ctime": 1786782308000,
       "curr_xact_start": -1,
       "client_address": "172.16.114.248",
       "state": "idle",
       "lock_type": "-",
       "lock_relname": "-",
       "stmt_type": "COMMIT PREPARED",
       "query_elapsed_time": -1,
       "control_group": "",
       "query": "-",
       "query_start": 1786782298,
       "db_name": "gaussdb",
       "client_hostname": "",
       "system_query": true,
       "lock_mode": "-",
       "inst_name": "cn_5001",
       "state_change": 1786782298
      }
     ],
     "count": 743
    }

对系统的影响

会使其他操作对此表持有锁失败,导致业务无法执行。

可能原因

集群中存在持有锁过长的vacuum full操作。

处理步骤

  1. 进入上报告警集群的“监控面板”中,在左侧导航栏选择“监控 > 实时查询 > 实时会话”页签,对会话列表进行查询,查询条件like,查询关键字“vacuum full”。

  2. 查询是否有等待vacuum full表锁的存在,在实时会话页面,根据“锁定对象”查询和vacuum full相同操作的锁对象。

  3. 确认是否需要处理vacuum full操作。

    1. 确定vacuum full操作是否为当前系统行为,并确认是否影响系统功能,如果不影响其他业务查询,则等待表vacuum full结束后告警自动消除。
    2. 如果vacuum full操作影响正常业务执行,则可以通过“实时查询”页面对相关会话进行查杀,可以选择其他时间执行vacuum full操作。

告警清除

当表vacuum full结束后,自动消除告警。

相关文档