---
title: "适配 Online DDL 工具介绍 | OceanBase 文档中心"
description: 适配 Online DDL 工具介绍 本文为您介绍什么是 Online DDL、适配 Online DDL 工具的使用限制，以及对数据迁移任务的影响和适配方案。 背景信息 Online DDL 又称为无锁结构变更，主要是为了解决因数据库机制问题，在进行部分结构变更时会触发锁表而导致业务阻塞的问题。gh-ost、pt-…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*L03BS6f-o40AAAAAAAAAAAAADiGDAQ/original) 迁移服务 OMSV 4.3.1 企业版

# 适配 Online DDL 工具介绍

更新时间：2026-04-14 15:36:02

本文为您介绍什么是 Online DDL、适配 Online DDL 工具的使用限制，以及对数据迁移任务的影响和适配方案。

## 背景信息

Online DDL 又称为无锁结构变更，主要是为了解决因数据库机制问题，在进行部分结构变更时会触发锁表而导致业务阻塞的问题。gh-ost、pt-osc 和阿里云 DMS 等通用支持 Online DDL 的工具，对于无锁结构变更主要的处理原理如下：

- 创建与源表结构一致的临时表。
 - 应用结构变更 DDL，变更临时表的表结构。
 - 全量复制源表的数据至临时表。
 - 增量同步源表的数据至临时表，直至源表与临时表的数据一致。
 - 重命名源端为待删除表，重命名临时表为源表。

通过上述方案，Online DDL 工具在大数据量的情况下，能够有效地解决长时间锁住源端对业务的阻塞性影响。

## 使用限制

- 当前版本仅支持源端为 MySQL 数据库，且使用阿里云 DMS、gh-ost 或 pt-osc 进行无锁结构变更操作的场景。
 - 适配 Online DDL 工具将 Online DDL 的语句还原为用户的 DDL 语句，无法解决用户的 DDL 语句在目标端执行时遇到的锁表问题，请评估目标端数据库类型对 DDL 的支持程度。
 - 选择配置适配 Online DDL 工具后，仅对后续执行的 Online DDL 生效。配置适配 Online DDL 工具之前执行的 Online DDL 将保持原行为，可能导致数据迁移任务异常。
 - 适配 Online DDL 工具将根据规则过滤符合 Online DDL 工具临时表语义的表对象。如果您的业务表符合 Online DDL 工具临时表语义，同样会被过滤掉，导致数据同步不符合预期。各工具临时表的规则如下。

  | Online DDL 工具 | 镜像临时表 | 其他临时表 |
  | --- | --- | --- |
  | gh-ost | _{原表名}_gho | _{原表名}_del    _{原表名}_ghc |
  | pt-osc | _{原表名}_new | _{原表名}_old |
  | DMS 无锁结构变更 | tp_{变更ID}_ogt_{原表名}     tp_{变更ID}_g_{原表名} | tp_{变更 ID}_ogl_{原表名}    tp_{变更 ID}_l_{原表名}   tp_{变更 ID}_del_{原表名}   tp_{变更 ID}_d_{原表名} |

## 对数据迁移任务的影响

如果源端发生了 Online DDL，根据迁移对象选择范围的不同，对数据迁移任务会产生不同的影响。

- 迁移表对象的选择未覆盖 Online DDL 生成的临时表

     - 触发场景：通常在数据迁移任务中，选择对象时使用指定对象方式，或者使用匹配规则方式的语义中未覆盖临时表。
     - 影响：因为数据迁移功能未将临时表的创建、结构变更、重命名操作完整复制至目标端，会触发源端与目标端表结构不一致而导致的任务中断的问题。
 - 迁移表对象的选择覆盖了 Online DDL 生成的临时表

     - 触发场景：通常在数据迁移任务中，选择对象时使用匹配规则方式，并且匹配规则方式的语义中覆盖了临时表。
     - 影响：数据迁移将完整复制源端的无锁结构变更动作，包括源端临时表的大量 DML，该场景不会影响任务正常运行，但是会产生大量数据同步，影响性能。

## 数据迁移任务的适配方案

数据迁移在控制台页面提供了是否开启适配 Online DDL 工具的功能，您在选择开启后，数据迁移后台将进行以下操作。

- 配置过滤条件，过滤所有符合 Online DDL 工具临时表语义的表对象，不同步至目标端。
 - 保存源端变更临时表的 DDL，识别到源端无锁结构变更完成后，在目标端源表应用结构变更 DDL。

通过上述行为，可以解决以下两个问题。

- 过滤临时表的 DML 和 DDL，减少无效的表对象传输对数据迁移任务的性能影响。
 - 将 Online DDL 的语句还原为用户的 DDL 语句，避免源端与目标端最终表对象结构不一致导致数据迁移任务中断。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
