数据管理DMS的DML无锁变更可以在不锁表的情况下对表进行数据变更。本文介绍在DMS中进行DML无锁数据变更的方法。

前提条件

  • 支持的数据库类型:
    • MySQL:RDS MySQLPolarDB MySQL引擎MyBase MySQLPolarDB-X、其他来源MySQL
    • PostgreSQL:RDS PostgreSQLPolarDB PostgreSQL引擎MyBase PostgreSQL、其他来源PostgreSQL
    • MariaDB:RDS MariaDB、其他来源MariaDB
    • OceanBase MySQL模式
    • PolarDB O引擎
  • 实例的管控模式为稳定变更或安全协同。更多信息,请参见查看管控模式

背景信息

DML无锁数据变更基于强大的DMS引擎将单个SQL拆分成多个批次执行,能更好地满足业务方对大量数据变更的需求,例如历史数据清理、全表更新字段等,保证执行效率的同时,减小对数据库性能、数据库空间等的影响。更多信息,请参见DML无锁变更概览

操作步骤

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择数据库开发 > 数据变更 > 无锁变更
  3. 配置无锁变更工单。
    参数名 说明
    数据库 搜索并选择目标数据库。
    说明 您需要有目标数据库的变更权限。更多信息,请参见查看我的权限
    变更SQL 输入DML(Data Manipulation Language),例如UPDATEDELETEINSERT_SELECT
    说明 如果变更SQL输入的是DDL,则您进行的是DDL无锁结构变更任务。更多信息请参见DDL无锁变更
  4. 单击提交申请
    系统将自动进行SQL预检查。如果预检查失败,您可以根据失败原因,单击修改SQL,修改SQL后重试。
  5. 等待审批通过后,在工单详情页的执行区域,单击执行变更
    说明 您可以在工单详情页的审批区域,查看审批进展。
  6. 配置任务执行参数。
    配置项 说明
    执行策略
    • 立即执行:系统默认,单击确认执行后立即执行工单任务。
    • 定时执行:选择任务开始执行时间。单击确认执行后,在指定的时间执行该任务。
    指定结束时间
    • 开启:选择任务结束时间。如果任务在指定结束时间之前没有执行完毕,则系统将不再继续执行未完成的SQL任务,防止高峰期执行任务,影响业务运作。
    • 关闭:系统默认。
  7. 单击确定执行
    您可以在执行区域,查看任务执行状态、任务设置、详情和调度日志。