查看和管理迁移作业

项目:/database-migration/docs/sqlserver-to-csql-pgsql/_project.yaml 图书:/database-migration/docs/sqlserver-to-csql-pgsql/_book.yaml

在 Google Cloud 控制台中,您可以针对具有相同 状态的迁移作业批量执行操作。您可以在 Google Cloud 控制台中或使用 Google Cloud CLI 对单个迁移作业执行操作。

您可以对迁移作业执行以下任一操作:

操作 说明
开始 启动未处于正在运行正在启动状态的迁移作业。请参阅 迁移作业状态
停止 停止正在运行的迁移作业。数据移动已暂停。 迁移作业状态会先更改为 Stopping,然后再更改为 Stopped。您可以恢复、删除或 提升已停止的迁移作业。

在某些情况下,源数据库必须保留数据,直到您恢复迁移作业。来源数据库的保留期限可能有限。如果迁移作业暂停的时间超过了保留期限,然后迁移作业恢复,这可能会导致迁移作业失败。如果发生这种情况,请删除或重启迁移作业。

恢复 您可以继续在 CDC 阶段停止的迁移作业。 当您继续执行迁移作业时,Database Migration Service 会继续复制在迁移作业停止时累积的更改事件。
重启 如果迁移作业遇到错误而无法继续进行数据复制,您可以重启该作业。重启迁移作业的结果取决于其失败的原因:
  • 如果复制因一个或多个源数据库表或目标数据库表出现错误而失败,则重启迁移作业会擦除迁移作业中包含的目标数据库表中的所有数据。
  • 重启迁移作业不会导致 Database Migration Service 复制您在源数据库中创建的新表。 您首先需要 将表添加到转换工作区并转换其架构
修改 请参阅 修改迁移作业
删除 迁移作业可以删除。结果取决于作业的状态:
  • 如果迁移作业处于 Completed 状态,则系统会将相应记录从迁移作业列表中删除。
  • 如果迁移作业处于任何其他状态,则可以选择删除关联的目标 Cloud SQL 实例。
推广 在迁移过程中,目标数据库会被置于只读状态,由 Database Migration Service 全权管理。 当您想要将应用切换到已迁移的目标数据库时,提升迁移作业会将目标数据库更新为独立副本。请参阅 提升迁移速度

审核迁移作业

  1. 在 Google Cloud 控制台中,前往迁移作业页面。

    前往“迁移作业”

  2. 选择一个迁移作业以查看其详情页面,其中包含:
    • 迁移作业元数据,例如显示名称、ID、迁移类型、源连接配置文件、源数据库引擎、目标位置、连接方法、迁移作业的创建日期和时间,以及迁移作业的运行时长。
    • 迁移作业状态和子状态,以及其他信息。您可以执行的操作因迁移作业的状态和子状态而异。

启动迁移作业

迁移作业完全创建后(即未保存为草稿状态),您可以随时启动它以开始迁移数据。

如需启动迁移作业,请执行以下步骤:

控制台

  1. 在 Google Cloud 控制台中,前往迁移作业页面。

    前往“迁移作业”

  2. 作业标签页中,点击要启动的迁移作业的显示名称。

    系统随即会打开迁移作业详情页面。

  3. 点击开始
  4. 在对话框中,点击开始

gcloud

在使用下面的命令数据之前,请先进行以下替换:

  • MIGRATION_JOB_ID 替换为您的迁移作业标识符。

    如果您不知道标识符,可以使用 gcloud database-migration migration-jobs list 命令列出给定区域中的所有迁移作业并查看其标识符。

  • REGION 与存储连接配置文件的区域的标识符。

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud database-migration migration-jobs \
start MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
start MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
start MIGRATION_JOB_ID ^
  --region=REGION

结果

该操作会以异步方式执行。 因此,此命令会返回一个表示长时间运行的操作的 操作实体

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: start
name: OPERATION_ID
如需查看操作是否成功,您可以查询返回的操作对象,或检查迁移作业的状态:

停止迁移作业

您可以随时执行以下步骤,停止 正在运行的迁移作业:

控制台

  1. 在 Google Cloud 控制台中,前往迁移作业页面。

    前往“迁移作业”

  2. 作业标签页中,点击要启动的迁移作业的显示名称。

    系统随即会打开迁移作业详情页面。

  3. 点击停止
  4. 在对话框中,点击停止

gcloud

在使用下面的命令数据之前,请先进行以下替换:

  • MIGRATION_JOB_ID 替换为您的迁移作业标识符。

    如果您不知道标识符,可以使用 gcloud database-migration migration-jobs list 命令列出给定区域中的所有迁移作业并查看其标识符。

  • REGION 与存储连接配置文件的区域的标识符。

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud database-migration migration-jobs \
stop MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
stop MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
stop MIGRATION_JOB_ID ^
  --region=REGION

结果

该操作会以异步方式执行。 因此,此命令会返回一个表示长时间运行的操作的 操作实体

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: stop
name: OPERATION_ID
如需查看操作是否成功,您可以查询返回的操作对象,或检查迁移作业的状态:

继续执行迁移作业

您可以通过执行以下步骤恢复 已停止的迁移作业:

控制台

  1. 在 Google Cloud 控制台中,前往迁移作业页面。

    前往“迁移作业”

  2. 作业标签页中,点击要启动的迁移作业的显示名称。

    系统随即会打开迁移作业详情页面。

  3. 点击恢复
  4. 在对话框中,点击继续

gcloud

在使用下面的命令数据之前,请先进行以下替换:

  • MIGRATION_JOB_ID 替换为您的迁移作业标识符。

    如果您不知道标识符,可以使用 gcloud database-migration migration-jobs list 命令列出给定区域中的所有迁移作业并查看其标识符。

  • REGION 与存储连接配置文件的区域的标识符。

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud database-migration migration-jobs \
resume MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
resume MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
resume MIGRATION_JOB_ID ^
  --region=REGION

结果

该操作会以异步方式执行。 因此,此命令会返回一个表示长时间运行的操作的 操作实体

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: resume
name: OPERATION_ID
如需查看操作是否成功,您可以查询返回的操作对象,或检查迁移作业的状态:

重启迁移作业

如需启动迁移作业,请执行以下步骤:

控制台

  1. 在 Google Cloud 控制台中,前往迁移作业页面。

    前往“迁移作业”

  2. 作业标签页中,点击要重启的迁移作业的显示名称。

    系统随即会打开迁移作业详情页面。

  3. 点击重新启动
  4. 在该对话框中,点击重启

gcloud

在使用下面的命令数据之前,请先进行以下替换:

  • MIGRATION_JOB_ID 替换为您的迁移作业标识符。

    如果您不知道标识符,可以使用 gcloud database-migration migration-jobs list 命令列出给定区域中的所有迁移作业并查看其标识符。

  • REGION 与存储连接配置文件的区域的标识符。
  • 可选:默认情况下,Database Migration Service 会迁移源中所有数据库。如果您只想迁移特定数据库,请使用 --databases-filter 标志,并以英文逗号分隔的形式指定其标识符。

    例如:--databases-filter=my-business-database,my-other-database

    您稍后可以使用 gcloud database-migration migration-jobs update 命令修改使用 --database-filter flag 创建的迁移作业。

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud database-migration migration-jobs \
restart MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
restart MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
restart MIGRATION_JOB_ID ^
  --region=REGION

结果

该操作会以异步方式执行。 因此,此命令会返回一个表示长时间运行的操作的 操作实体

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: restart
name: OPERATION_ID
如需查看操作是否成功,您可以查询返回的操作对象,或检查迁移作业的状态:

更新草稿迁移作业

如需完成迁移作业的创建,请执行以下步骤:

  1. 在 Google Cloud 控制台中,前往迁移作业页面。

    前往“迁移作业”

  2. 草稿标签页中,点击要完成创建的迁移作业的显示名称。

    系统随即会打开迁移作业创建向导。

  3. 完成迁移作业的创建。请参阅 创建迁移作业

修改迁移作业

您可以修改源的配置信息,例如 Database Migration Service 将迁移到目标位置的源中的数据库表和架构。Database Migration Service 会使用此配置信息将正确的数据从源迁移到目标。

向迁移添加或移除对象

如需向迁移添加或从迁移中移除表或架构,请执行以下操作:

  1. 前往 Google Cloud 控制台中的迁移作业页面。

    前往“迁移作业”

  2. 点击要修改的迁移作业的显示名称。系统会显示迁移作业的概览页面。

  3. 选择要迁移的对象部分中,选中或清除复选框,以更改 Database Migration Service 将从源迁移到目标位置的表和架构。

  4. 点击保存保存并重启

    • 如果您点击保存,Database Migration Service 将仅移动您选择的架构和表的历史数据。

    • 如果您点击保存并重启,Database Migration Service 会先清理您在目标位置选择的所有表,然后从头开始迁移。

调整与源数据库的最大并发连接数

您可以自定义 Database Migration Service 在完整转储阶段CDC 阶段与来源实例建立的最大并发连接数。

  1. 前往 Google Cloud 控制台中的迁移作业页面。

    前往“迁移作业”

  2. 点击要修改的迁移作业的显示名称。系统会显示迁移作业的概览页面。

  3. 展开自定义来源配置 > 来源读取设置部分。

  4. 并发完全转储连接数上限并发 CDC 连接数上限部分,使用自定义字段输入完全转储或 CDC 阶段的连接数上限。

  5. 点击保存保存并重启

调整目标位置配置设置

您可以自定义目标数据库的事务超时和并发连接数上限:

  1. 前往 Google Cloud 控制台中的“迁移作业”页面。

    前往“迁移作业”

  2. 点击要修改的迁移作业的显示名称。

    系统会显示迁移作业的概览页面。

  3. 展开自定义目标配置部分,然后修改以下设置:
    并发目标连接数上限

    默认值:128

    允许的值:最小值 2,最大值 256

    您可以自定义 Database Migration Service 可以与目标实例建立的最大并发连接数。

    Database Migration Service 会调整连接数,以确保在提供的连接数限制内实现最佳性能。提高连接数上限可以加快迁移速度,但会给目标数据库带来额外的负载。

    事务超时

    默认值:30

    允许的值:最小值 30,最大值 300

    在迁移过程中,Database Migration Service 可能会遇到导致事务超时的某些问题。您可以调整 Database Migration Service 在取消事务之前等待事务完成的秒数。

    已取消的交易不会导致迁移作业失败。 迁移作业会继续复制数据,但会变为运行时出错状态。您可以查看迁移作业详情,了解需要解决哪些问题。

  4. 点击保存保存并重启

测试迁移作业

在运行迁移作业之前,您可以执行测试操作,检查 Database Migration Service 是否可以访问所有必要的源和目标实体。在 Google Cloud 控制台中,您只能测试在迁移作业创建向导中创建的草稿迁移作业(请参阅 创建迁移作业)。

借助 gcloud CLI,您可以测试已创建但尚未开始的迁移作业。

在使用下面的命令数据之前,请先进行以下替换:

  • MIGRATION_JOB_ID 替换为您的迁移作业标识符。

    如果您不知道标识符,可以使用 gcloud database-migration migration-jobs list 命令列出给定区域中的所有迁移作业并查看其标识符。

  • REGION 与存储连接配置文件的区域的标识符。

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud database-migration migration-jobs \
verify MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
verify MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
verify MIGRATION_JOB_ID ^
  --region=REGION

结果

该操作会以异步方式执行。 因此,此命令会返回一个表示长时间运行的操作的 操作实体

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: verify
name: OPERATION_ID
如需查看操作是否成功,您可以查询返回的操作对象,或检查迁移作业的状态: