对于从 Oracle 到 AlloyDB for PostgreSQL 的异构迁移,您可以监控和管理整个迁移作业或迁移作业中包含的各个表的迁移进度。
本页介绍了您可以在每个级别执行的操作。如需了解详情,请参阅 管理迁移作业和 管理单个表部分。
管理迁移作业
在 Google Cloud 控制台中,您可以针对具有相同 状态的迁移作业批量执行操作。您可以在 Google Cloud 控制台中以及使用 Google Cloud CLI 对单个迁移作业执行操作。
您可以对迁移作业执行以下任一操作:
操作 | 说明 |
---|---|
开始 | 启动未处于正在运行或正在启动状态的迁移作业。请参阅 迁移作业状态。 |
停止 | 停止正在运行的迁移作业。数据迁移已暂停。
迁移作业的状态会先更改为 Stopping ,然后更改为 Stopped 。您可以恢复、删除或
升级已停止的迁移作业。
在某些情况下,源数据库必须保留数据,直到您恢复迁移作业。来源数据库的保留期限可能有限。如果迁移作业暂停的时间超过了保留期限,然后迁移作业恢复,则可能会导致迁移作业失败。如果发生这种情况,请删除或重启迁移作业。 |
恢复 | 您可以恢复在 CDC 阶段停止的迁移作业。 当您恢复迁移作业时,Database Migration Service 会恢复复制在迁移作业停止时累积的变更事件。 |
重新开始 |
您可以重启遇到错误且无法继续进行数据复制的迁移作业。 重新启动迁移作业的结果取决于作业失败的原因:
|
修改 | 请参阅 修改迁移作业。 |
删除 | 您可以删除迁移作业。结果取决于作业的状态:
|
推广 | 在迁移过程中,目标数据库会进入只读状态,并由 Database Migration Service 全代管式。 当您想将应用切换到迁移后的目标数据库时,提升迁移作业会将目标数据库更新为独立副本。请参阅 提升迁移速度。 |
审核迁移作业
- 在 Google Cloud 控制台中,前往迁移作业页面。
- 选择迁移作业以查看其详情页面,其中包含:
- 迁移作业元数据,例如显示名称、ID、迁移类型、源连接配置文件、源数据库引擎、目标、连接方法、迁移作业的创建日期和时间以及迁移作业的运行时长。
- 迁移作业状态和子状态,以及其他信息。您可以执行不同的操作,具体取决于迁移作业的状态和子状态。
开始迁移作业
完全创建迁移作业(即未以草稿状态保存)后,您可以随时启动该作业以开始迁移数据。
如需开始迁移作业,请执行以下步骤:
控制台
- 在 Google Cloud 控制台中,前往迁移作业页面。
- 在作业标签页中,点击要启动的迁移作业的显示名称。
系统会打开迁移作业详情页面。
- 点击开始。
- 在对话框中,点击开始。
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
结果
该操作以异步方式执行。 因此,此命令会返回一个表示长时间运行的操作的 Operation 实体:
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
- 使用
gcloud database-migration migration-jobs describe
命令可查看迁移作业的状态。 - 将
gcloud database-migration operations describe
与 OPERATION_ID 搭配使用,即可查看操作本身的状态。
停止迁移作业
控制台
- 在 Google Cloud 控制台中,前往迁移作业页面。
- 在作业标签页中,点击要启动的迁移作业的显示名称。
系统会打开迁移作业详情页面。
- 点击停止。
- 在对话框中,点击停止。
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
结果
该操作以异步方式执行。 因此,此命令会返回一个表示长时间运行的操作的 Operation 实体:
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
- 使用
gcloud database-migration migration-jobs describe
命令可查看迁移作业的状态。 - 将
gcloud database-migration operations describe
与 OPERATION_ID 搭配使用,即可查看操作本身的状态。
继续执行迁移作业
您可以按照以下步骤恢复 已停止的迁移作业:
控制台
- 在 Google Cloud 控制台中,前往迁移作业页面。
- 在作业标签页中,点击要启动的迁移作业的显示名称。
系统会打开迁移作业详情页面。
- 点击继续。
- 在对话框中,点击继续。
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
结果
该操作以异步方式执行。 因此,此命令会返回一个表示长时间运行的操作的 Operation 实体:
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
- 使用
gcloud database-migration migration-jobs describe
命令可查看迁移作业的状态。 - 将
gcloud database-migration operations describe
与 OPERATION_ID 搭配使用,即可查看操作本身的状态。
重启迁移作业
当您重启迁移作业时,Database Migration Service 会清除目标表中的所有数据,而源数据不会受到影响。然后,迁移过程会重新开始,首先是完整转储阶段。
如需重启迁移作业,请执行以下步骤:
控制台
- 在 Google Cloud 控制台中,前往迁移作业页面。
- 在 Jobs 标签页中,点击要重新启动的迁移作业的显示名称。
系统会打开迁移作业详情页面。
- 点击重新启动。
- 在对话框中,点击重新启动。
gcloud
在使用下面的命令数据之前,请先进行以下替换:
- 将 MIGRATION_JOB_ID 替换为您的迁移作业标识符。
如果您不知道标识符,可以使用
gcloud database-migration migration-jobs list
命令列出给定区域中的所有迁移作业,并查看其标识符。 - 将 REGION 替换为保存迁移作业的区域的标识符。
执行以下命令:
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
结果
该操作以异步方式执行。 因此,此命令会返回一个表示长时间运行的操作的 Operation 实体:
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
- 使用
gcloud database-migration migration-jobs describe
命令可查看迁移作业的状态。 - 将
gcloud database-migration operations describe
与 OPERATION_ID 搭配使用,即可查看操作本身的状态。
更新草稿迁移作业
如需完成迁移作业的创建,请执行以下步骤:
- 在 Google Cloud 控制台中,前往迁移作业页面。
- 在草稿标签页中,点击要完成创建的迁移作业的显示名称。
系统会打开迁移作业创建向导。
- 完成迁移作业的创建。请参阅 创建迁移作业。
修改迁移作业
您可以修改来源的配置信息,例如 Database Migration Service 将迁移到目标位置的来源中的数据库表和架构。Database Migration Service 会使用此配置信息将正确的数据从来源迁移到目标位置。
添加或移除迁移对象
如需在迁移中添加或移除表或架构,请执行以下操作:
前往 Google Cloud 控制台中的迁移作业页面。
点击要修改的迁移作业的显示名称。系统会显示迁移作业的概览页面。
在选择要迁移的对象部分中,选中或清除相应复选框,以更改 Database Migration Service 将迁移到目标位置的源中的表和架构。
点击保存或保存并重启。
如果您点击保存,Database Migration Service 将仅迁移您所选架构和表的历史数据。
- 如果您点击保存并重新开始,Database Migration Service 将在清理您在目标数据库中选择的任何表后,从头开始迁移。
调整与源数据库的最大并发连接数
您可以自定义 Database Migration Service 在完全转储阶段或 CDC 阶段可以与源实例建立的最大并发连接数。
前往 Google Cloud 控制台中的迁移作业页面。
点击要修改的迁移作业的显示名称。 系统会显示迁移作业的概览页面。
展开自定义来源配置 > 来源读取设置部分。
在并发完全转储连接数上限或并发 CDC 连接数上限部分中,使用自定义字段输入完全转储或 CDC 阶段的连接数上限。
点击保存或保存并重启。
调整目标配置设置
您可以为目标数据库自定义事务超时时间和并发连接数上限:
前往 Google Cloud 控制台中的迁移作业页面。
- 点击要修改的迁移作业的显示名称。
系统会显示迁移作业的概览页面。
- 展开自定义目标配置部分,然后修改以下设置:
- 并发目标连接数上限
-
默认值:
128
允许的值:最小值
2
,最大值256
您可以自定义 Database Migration Service 可以与目标实例建立的最大并发连接数。
Database Migration Service 会调整连接数,以确保在提供的连接数上限内获得最佳性能。提高连接数上限可以提高迁移速度,但会增加目标数据库的额外负载。
- 交易超时
-
默认值:
30
允许的值:最小值
30
,最大值300
在迁移过程中,Database Migration Service 可能会遇到导致事务超时的某些问题。您可以调整 Database Migration Service 在取消事务之前等待事务完成的秒数。
已取消的交易不会导致迁移作业失败。 迁移作业会继续复制数据,但会转为正在运行(有错误)状态。您可以查看迁移作业详情,了解需要解决哪些问题。
- 点击保存或保存并重启。
测试迁移作业
在运行迁移作业之前,您可以执行测试操作,以检查 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
结果
该操作以异步方式执行。 因此,此命令会返回一个表示长时间运行的操作的 Operation 实体:
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
- 使用
gcloud database-migration migration-jobs describe
命令可查看迁移作业的状态。 - 将
gcloud database-migration operations describe
与 OPERATION_ID 搭配使用,即可查看操作本身的状态。
管理单个表格
对于从 Oracle 到 AlloyDB for PostgreSQL 的异构迁移,您可以查看迁移作业中包含的特定表的状态详细信息。
查看作业中的所有表格
如需查看迁移作业中所有表的详细信息,请执行以下操作:
控制台
- 在 Google Cloud 控制台中,前往迁移作业页面。
- 在作业标签页中,点击迁移作业的显示名称。
系统会打开迁移作业详情页面。
- 选择表格标签页,然后查看作业中包含的所有表格。您还可以使用互动式过滤条件来缩小列表范围。
gcloud
在使用下面的命令数据之前,请先进行以下替换:
- 将 MIGRATION_JOB_ID 替换为您的迁移作业标识符。
如果您不知道标识符,可以使用
gcloud database-migration migration-jobs list
命令列出给定区域中的所有迁移作业,并查看其标识符。 - 将 REGION 替换为保存迁移作业的区域的标识符。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud database-migration objects list \ --migration-job=MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration objects list ` --migration-job=MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration objects list ^ --migration-job=MIGRATION_JOB_ID ^ --region=REGION
结果
此命令会返回迁移作业中包含的所有表的状态、阶段和错误详细信息,并以空行分隔。
SOURCE_OBJECT: {'schema': 'Schema1', 'table': 'MyTable1', 'type': 'TABLE'} STATE: RUNNING PHASE: CDC ERROR: {} SOURCE_OBJECT: {'schema': 'Production', 'table': 'MyTable2', 'type': 'TABLE'} STATE: RUNNING PHASE: FULL_DUMP ERROR: { 'code': 2, 'details': [ { '@type': 'type.googleapis.com/google.rpc.ErrorInfo', 'domain': 'datamigration.googleapis.com', 'metadata': { 'errorMessage': '[DATABASE] error trying to write processed rows. Line: 2619 Position: 0 Schema: production Table: mytable2', 'errorScope': 'NON_GLOBAL', 'objectId': 'Production_MyTable2', 'projectName': 'PROJECT_ID', 'resourceName': 'MIGRATION_JOB_ID', 'severity': 'ERROR' }, 'reason': 'DESTINATION_WRITE_ERROR' } ], 'message': 'Encountered errors with your migration job table. Check the `details` array for specific information on each issue.' }
查看单个表的详细信息
如需查看单个表的迁移详细信息,请执行以下操作:
控制台
- 在 Google Cloud 控制台中,前往迁移作业页面。
- 在作业标签页中,点击迁移作业的显示名称。
系统会打开迁移作业详情页面。
-
选择表格标签页,然后点击要检查的表格。您还可以使用互动式过滤条件来缩小列表范围。
系统会打开表格详情侧边栏。
gcloud
在使用下面的命令数据之前,请先进行以下替换:
- 将 MIGRATION_JOB_ID 替换为您的迁移作业标识符。
如果您不知道标识符,可以使用
gcloud database-migration migration-jobs list
命令列出给定区域中的所有迁移作业,并查看其标识符。 - 将 REGION 替换为保存迁移作业的区域的标识符。
- SCHEMA_NAME 替换为包含相应表的父架构的名称。
- 将 TABLE_NAME 替换为您的表名。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud database-migration objects lookup \ --migration-job=MIGRATION_JOB_ID \ --region=REGION \ --schema=SCHEMA_NAME \ --table=TABLE_NAME
Windows (PowerShell)
gcloud database-migration objects lookup ` --migration-job=MIGRATION_JOB_ID ` --region=REGION ` --schema=SCHEMA_NAME ` --table=TABLE_NAME
Windows (cmd.exe)
gcloud database-migration objects lookup ^ --migration-job=MIGRATION_JOB_ID ^ --region=REGION ^ --schema=SCHEMA_NAME ^ --table=TABLE_NAME
结果
此命令会返回表的状态、阶段、创建时间和错误详细信息。整个响应是一个多行 YAML 格式的字符串。 例如:
createTime: '2025-06-02T10:20:29.792832Z' error: code: 2 details: - '@type': type.googleapis.com/google.rpc.ErrorInfo domain: datamigration.googleapis.com metadata: errorMessage: '[DATABASE] error trying to write processed rows. Line: 2619 Position: 0 Schema: production Table: mytable2' errorScope: NON_GLOBAL objectId: Production_MyTable2 projectName: PROJECT_ID resourceName: MIGRATION_JOB_ID severity: ERROR reason: DESTINATION_WRITE_ERROR message: Encountered errors with your migration job table. Check the `details` array for specific information on each issue. name: projects/PROJECT_ID/locations/REGION/migrationJobs/MIGRATION_JOB_ID/objects/TABLE_UUID phase: FULL_DUMP sourceObject: schema: Production table: MyTable2 type: TABLE state: RUNNING