暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

事务超时报错

SQL新手 2022-12-08
1775

本文为您介绍事务超时的相关报错及处理方式。

事务空闲超时

事务空闲超时指当事务两条语句执行间隔超过指定阈值。

报错:ERROR 6002

OceanBase 错误码:6002

示例

执行 BEGIN 后 120 秒内未操作。

obclient> delete from t_insert where id=2;
ERROR 6002 (25000): transaction needs rollback

处理方法

  1. 查看 ob_trx_idle_timeout 参数值,确认操作的超时时间是否超过了设置的值。

    obclient> show variables like 'ob_trx_idle_timeout';
    +---------------------+-----------+
    | VARIABLE_NAME       | VALUE     |
    +---------------------+-----------+
    | ob_trx_idle_timeout | 120000000 |
    +---------------------+-----------+
    1 row in set
    
  2. 使用 rollback 恢复操作。

    obclient> rollback;
    Query OK, 0 rows affected
    
  3. 再次清除 t_insert 表中 id=2 的数据。

    obclient> delete from t_insert where id=2;
    Query OK, 1 row affected
    
  4. 查询运行结果。

    obclient> select * from t_insert;
    +----+------+-------+---------------------+
    | id | name | value | gmt_create          |
    +----+------+-------+---------------------+
    |  3 | US   |  NULL | 2022-03-31 17:04:55 |
    +----+------+-------+---------------------+
    1 row in set
    

事务未提交超时

事务未提交超时指当事务超过指定阈值后未提交或回滚。

报错:ERROR 4012

  • OceanBase 错误码:6210

  • 兼容 MySQL 错误码:4012

示例

100 秒内未提交事务或者回滚。

obclient> select now(), t.* from t_insert t ;
ERROR 4012 (25000): Transaction is timeout
obclient> commit;
ERROR 4012 (25000): Transaction is timeout

处理方法

  1. 查看 ob_trx_timeout 参数值,确认事务超时时间是否超过了设置的值。

    obclient> show variables like 'ob_trx_timeout';
    +----------------+-----------+
    | Variable_name  | Value     |
    +----------------+-----------+
    | ob_trx_timeout | 100000000 |
    +----------------+-----------+
    1 row in set
    
  2. 使用 rollback 恢复操作。

    obclient> rollback;
    Query OK, 0 rows affected
    
  3. 再次查询 t_insert 表数据。

    obclient> select now(), t.* from t_insert t ;
    +---------------------+----+------+-------+---------------------+
    | now()               | id | name | value | gmt_create          |
    +---------------------+----+------+-------+---------------------+
    | 2022-04-02 14:14:09 |  1 | CN   |  NULL | 2022-04-02 14:03:31 |
    | 2022-04-02 14:14:09 |  2 | UK   |  NULL | 2022-04-02 14:03:31 |
    | 2022-04-02 14:14:09 |  3 | US   |  NULL | 2022-03-31 17:04:55 |
    +---------------------+----+------+-------+---------------------+
    3 rows in set
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论