更新时间:2026-07-31 GMT+08:00
分享

使用无锁数据变更

操作场景

您可以在管理控制台中开启实例的无锁变更功能,开启后可以查询、停止和清理无锁变更任务,并下载任务日志,实现变更过程的自动化管理和快速定位异常。无锁变更任务的日志存储在对象存储服务(OBS)上,有效期为30天,请在有效期内下载日志,超过30天后日志将被自动删除。

无锁变更过程中会生成临时表,这些临时表会占用存储空间,为了避免产生额外费用,变更完成后,请确认业务正常运行并及时删除临时表。如果您终止了无锁变更任务,可能存在任务实际已经执行成功的情况,建议您检查变更是否成功,并确认是否有临时表残留,及时清理临时表以避免不必要的存储费用。

前提条件

约束限制

  • 执行无锁变更期间,不允许做实例变更,实例备份等操作。
  • 执行无锁变更动作,需要确保实例磁盘空间充足。
  • 业务量大的场景下执行无锁变更,会增加变更失败概率,请选择业务低峰期操作。
  • 选择变更的表不允许有外键,不支持有大小写同名的表,目标表其他约束请参见无锁数据变更简介

使用无锁数据变更

  1. 登录TaurusDB管理控制台
  2. 单击管理控制台左上角的,选择区域。
  3. 在“实例管理”页面,选择目标实例,单击实例名称,进入“实例概览”页面。
  4. 在左侧导航栏选择“智能DBA助手”下的“无锁数据变更”。
  5. 单击“新增无锁变更任务”。
  6. 设置无锁变更任务参数,单击“确定”,新建无锁变更任务。选择“数据库名”,填写变更SQL,按需勾选“清理临时表”。

    图1 新增无锁变更任务

    表1 无锁变更任务参数

    参数

    说明

    数据库名

    目标DDL所在的数据库名称。

    变更SQL

    • 批量执行最多支持10条DDL语句,多条DDL语句用分号(;)隔开。
    • 多条ALTER 语句不可操作同一张表。

    清理临时表

    任务执行结束后,系统会自动创建临时表,且不会自动删除。如需自动删除,请勾选此选项。

  7. 单击“确定”,下发无锁变更任务。
  8. 开启后,您可以在无锁变更任务列表中查看对应DDL语句的执行状态,也可执行如下操作。

    • 终止任务

      如果需要终止正在变更的任务,您可以单击操作列的“终止”,弹框中确认任务信息,一键输入YES,单击“确定”,终止无锁变更任务。

    • 删除任务

      单击操作列的“删除”,弹框中确认任务信息,一键输入YES,单击“确定”,删除无锁变更任务。

    • 获取日志下载链接

      单击操作列的“更多 > 下载日志”,下载目标无锁变更任务日志。

    • 清理临时表

      单击操作列的“更多 > 清理临时表”,弹框中确认任务信息,一键输入YES,单击“确定”,清理无锁变更任务产生的临时表。

相关文档