“源库长事务检测”产生警告

本文介绍在配置DTS同步或迁移任务过程中,预检查阶段检测出源库存在长事务时的处理方法。

问题描述

在配置同步或迁移实例的预检查阶段,源库长事务检测出现警告。

可能原因

源库数据库类型PostgreSQLPolarDB for PostgreSQLPolarDB(兼容Oracle),且源库存在超过5分钟未提交的长事务。

解决方案

  1. 登录源库执行如下命令,查看长事务。

    SELECT pid, usename, datname, query, state ,
                EXTRACT(EPOCH FROM (NOW() - xact_start)) as duration 
                FROM pg_stat_activity 
                WHERE state IN ('idle in transaction', 'active') 
                AND (NOW() - xact_start) > INTERVAL '300 seconds' 
                ORDER BY xact_start
  2. 在业务允许的前提下,手动提交或回滚该长事务,以确保不存在占用锁资源的长事务。

  3. 返回预检查页面,单击重新进行预检查

  4. 根据提示完成后续操作。