调用GetOnlineDDLProgress接口,获取OnlineDDL任务执行进度详情。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String 是 GetOnlineDDLProgress

系统规定参数。取值:GetOnlineDDLProgress。

Tid Long 否 3***

租户ID。

说明 取自系统右上角头像处悬停展示的租户ID信息,详情请参见查看租户信息。
JobDetailId Long 是 15***

OnlineDDL SQL任务详情ID。您可通过调用ListDBTaskSQLJobDetail接口获取该参数的值。

返回数据

名称 类型 示例值 描述
RequestId String 34E01EDD-6A16-4CF0-9541-C644D1BE01AA

请求ID。

Success Boolean true

请求是否成功。返回值如下:

  • true:请求成功
  • false:请求失败
ErrorMessage String UnknownError

错误信息。

ErrorCode String 403

错误码。

OnlineDDLTaskDetail Object

任务详细信息。

JobStatus String SUCCESS

任务状态。返回值如下:

  • INIT:初始化。
  • SUCCESS:已完成。
  • RUNNING:执行中。
  • WAITING_CUTOVER:等待cut-over。
  • RESTARTING:重启中。
  • PAUSE:暂停中。
  • UNSUPPORTED:不支持。
  • CANCELED:已取消。
  • FAIL:已失败。
  • INTERRUPT:已中断。
StatusDesc String Success

任务状态描述信息。

DelaySeconds Long 0

DMS回放延迟,即回放原表的Binlog到临时表的延迟时间(单位:秒),与数据库的主备无关。

CopyTotal Long 10

预估的数据总行数,取自information_schema库的统计数据,通常比表中的真实数据量小。

CopyCount Long 9

DMS无锁变更实际拷贝的原表数据量。

ProgressRatio String 90%

预估的执行进度。具体以任务状态为准。

CutoverLockTimeSeconds Long 2

切换表时,锁表超时时间。

CutoverFailRetryTimes Long 3

切换表失败时重试次数。

CleanStrategy String DROP

完成切换表操作后,原表的清理策略,返回值如下:

  • DROP:系统自动删除无效原表。
  • MOVE:将无效原表移动到test数据库,再进行手动清理。
  • NOTHING:原库中保留无效原表,再进行手动清理。
CopyChunkSize Long 1000

全量拷贝大小。该参数用于指定每个小块的大小。单次拷贝块越大,全量拷贝时间越短,但同时对业务影响越大。

说明 在全量拷贝阶段,将原表分为N个小块逐个拷贝到临时表,DMS缺省动态调整每个块的大小。
CopyChunkMode String AUTO

全量拷贝策略,返回值如下:

  • AUTO:DMS根据数据库的性能动态调整,单次拷贝锁表时间控制在1.5秒以内。
  • RUNNING:DMS根据您指定的CopyChunkSize大小(1-60000)拷贝原表数据,此模式下必须设置CopyChunkSize。
CutoverWindowStartTime String 12:00:00

切换表的时间窗口开始时间。默认为00:00:00。该参数可以控制切换表的时间窗口,指定当满足切换表条件且在时间窗口以内时才可以切换,未在窗口内时则一直等待窗口。

CutoverWindowEndTime String 13:00:00

切换表的时间窗口结束时间,与CutoverWindowStartTime至少间隔30分钟。默认为23:59:59。

示例

请求示例

http(s)://dms-enterprise.aliyuncs.com/?Action=GetOnlineDDLProgress
&Tid=3***
&JobDetailId=15***
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<GetOnlineDDLProgressResponse>
    <RequestId>34E01EDD-6A16-4CF0-9541-C644D1BE01AA</RequestId>
    <Success>true</Success>
    <OnlineDDLTaskDetail>
        <JobStatus>SUCCESS</JobStatus>
        <StatusDesc>Success</StatusDesc>
        <DelaySeconds>0</DelaySeconds>
        <CopyTotal>10</CopyTotal>
        <CopyCount>9</CopyCount>
        <ProgressRatio>90</ProgressRatio>
        <CutoverLockTimeSeconds>2</CutoverLockTimeSeconds>
        <CutoverFailRetryTimes>3</CutoverFailRetryTimes>
        <CleanStrategy>DROP</CleanStrategy>
        <CopyChunkSize>1000</CopyChunkSize>
        <CopyChunkMode>AUTO</CopyChunkMode>
        <CutoverWindowStartTime>12:00:00</CutoverWindowStartTime>
        <CutoverWindowEndTime>13:00:00</CutoverWindowEndTime>
    </OnlineDDLTaskDetail>
</GetOnlineDDLProgressResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "34E01EDD-6A16-4CF0-9541-C644D1BE01AA",
  "Success" : true,
  "OnlineDDLTaskDetail" : {
    "JobStatus" : "SUCCESS",
    "StatusDesc" : "Success",
    "DelaySeconds" : 0,
    "CopyTotal" : 10,
    "CopyCount" : 9,
    "ProgressRatio" : "90",
    "CutoverLockTimeSeconds" : 2,
    "CutoverFailRetryTimes" : 3,
    "CleanStrategy" : "DROP",
    "CopyChunkSize" : 1000,
    "CopyChunkMode" : "AUTO",
    "CutoverWindowStartTime" : "12:00:00",
    "CutoverWindowEndTime" : "13:00:00"
  }
}

错误码

访问错误中心查看更多错误码。