Gerenciar jobs de migração

É possível realizar ações na lista de jobs de migração, na página de detalhes de um único job de migração ou diretamente na página da instância de destino no Cloud SQL. No console do Google Cloud , é possível realizar ações em vários jobs simultaneamente se todos tiverem o mesmo status. É possível realizar ações em um único job de migração no console do Google Cloud e usando a Google Cloud CLI.

É possível realizar algumas ações em jobs de migração como um todo, enquanto outras ações (como reiniciar, promover ou visualizar detalhes) também podem ser realizadas em bancos de dados individuais selecionados em um job de migração.

É possível realizar as seguintes ações em jobs de migração:

Ação Descrição
Editar

Para fazer as seguintes mudanças, edite o job de migração:

  • Alternar entre migrar todos os bancos de dados e bancos de dados específicos.
  • Adicione ou remova bancos de dados em qualquer estado ou fase de migração, quantas vezes forem necessárias. Quando você remove um banco de dados, o Database Migration Service interrompe o processo de replicação nele, mas não o remove da instância de destino. Para mais informações, consulte Adicionar ou remover bancos de dados.
  • Editar o nível de paralelismo de despejo de dados de um job de migração em execução. É preciso salvar e reiniciar o job depois de fazer as mudanças.
  • Atualize o nome de exibição do job de migração com a CLI gcloud. Para mais informações, consulte Editar um job de migração que não seja de rascunho.
Iniciar Inicie jobs de migração que foram criados, mas não iniciados. É possível iniciar jobs que não estão no estado Em execução ou Iniciando. Consulte Status do job de migração.
Parar

Interrompa um job de migração em execução a qualquer momento. A migração de dados é interrompida, e o status do job de migração muda para Stopping e, em seguida, para Stopped.

  • Se o job de migração for interrompido durante a fase inicial de despejo completo, será possível excluir ou reiniciar o job. No entanto, os registros de WAL vão continuar sendo acumulados nos slots de replicação no banco de dados de origem, o que pode levar à falta de espaço em disco no banco de dados de origem. Além disso, o Database Migration Service continua a consultar as métricas de atraso de replicação, consumindo tráfego de rede.
  • Se o job de migração for interrompido durante a fase de captura de dados alterados (CDC), será possível retomar, promover ou excluir o job.

Monitore os slots de replicação e o espaço em disco do servidor do banco de dados de origem. A exclusão do job de migração limpa todos os slots de replicação na origem e interrompe o tráfego de rede.

Retomar

Se um job de migração contínua foi interrompido durante a fase de CDC, ele pode ser retomado. Retomar o job de migração reinicia a replicação de eventos e alterações de dados que se acumularam durante o tempo de interrupção.

Reiniciar

Se um job de migração falhar e não for recuperável ou for interrompido durante a fase inicial de despejo completo, será possível reiniciá-lo desde o início.

Reiniciar a migração limpa todos os dados de todos os bancos de dados de destino afetados por erros e faz um novo despejo completo. Se novos bancos de dados foram criados no servidor PostgreSQL de origem desde o início da migração, reiniciar a migração também replica esses novos bancos de dados na instância de destino.

É possível reiniciar todos os bancos de dados no job de migração ou apenas os selecionados.

Excluir

Excluir um job de migração. É possível excluir jobs de migração em qualquer estado. No entanto, só é possível excluir um job de migração em execução no console do Google Cloud .

O resultado depende do status do job:

  • Se o status do job de migração for Completed, o registro será excluído da lista de jobs de migração.
  • Se o job de migração estiver em qualquer outro status, haverá uma opção no console do Google Cloud para escolher se a instância de destino do Cloud SQL será excluída.

A exclusão de um job de migração remove os slots de replicação alocados no banco de dados de origem e interrompe o tráfego de rede. A exclusão de um job de migração não exclui os bancos de dados de origem.

Promover Promova a instância de destino de uma réplica para uma instância de banco de dados principal independente e desconecte a instância de destino da origem. É possível promover todo o job de migração ou promover bancos de dados individuais selecionados.

Para mais informações, consulte Promover uma migração.

Ver banco de dados específico Ver detalhes da migração de um banco de dados específico configurado para migração.
Ver todos os bancos de dados Ver detalhes da migração de todos os bancos de dados configurados para migração.

Iniciar um job de migração

Quando o job de migração estiver totalmente criado (ou seja, não estiver salvo em um estado de rascunho), você poderá iniciá-lo a qualquer momento para começar a migrar dados.

Para iniciar um job de migração, siga estas etapas:

Console

  1. No console do Google Cloud , acesse a página Jobs de migração.

    Acessar Jobs de migração

  2. Na guia Jobs, clique no nome de exibição do job de migração que você quer iniciar.

    A página de detalhes do job de migração é aberta.

  3. Clique em Iniciar.
  4. Na caixa de diálogo, clique em Iniciar.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID pelo identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e conferir os identificadores deles.

  • REGION pelo identificador da região em que o perfil de conexão está salvo.

Execute o seguinte comando:

Linux, macOS ou 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

Resultado

A ação é realizada de maneira assíncrona. Assim, esse comando retorna uma entidade Operation que representa uma operação de longa duração:

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

Para ver se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

Interromper um job de migração

É possível interromper um job de migração em execução a qualquer momento. Quando você interrompe um job de migração, a migração de dados é interrompida, e o status do job de migração muda para Stopping e, em seguida, para Stopped.

Para interromper um job de migração, siga estas etapas:

Console

  1. No console do Google Cloud , acesse a página Jobs de migração.

    Acessar Jobs de migração

  2. Na guia Jobs, clique no nome de exibição do job de migração que você quer interromper.

    A página de detalhes do job de migração é aberta.

  3. Clique em Interromper.
  4. Na caixa de diálogo, clique em Parar.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID pelo identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e conferir os identificadores deles.

  • REGION pelo identificador da região em que o perfil de conexão está salvo.

Execute o seguinte comando:

Linux, macOS ou 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

Resultado

A ação é realizada de maneira assíncrona. Assim, esse comando retorna uma entidade Operation que representa uma operação de longa duração:

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
Para ver se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

Retomar um job de migração

Se um job de migração contínua foi interrompido durante a fase de captura de dados alterados (CDC), é possível retomá-lo. Retomar o job de migração reinicia a replicação de eventos e alterações de dados que se acumularam no banco de dados de origem enquanto o job estava interrompido.

Para retomar um job de migração interrompido, siga estas etapas:

Console

  1. No console do Google Cloud , acesse a página Jobs de migração.

    Acessar Jobs de migração

  2. Na guia Jobs, clique no nome de exibição do job de migração que você quer retomar.

    A página de detalhes do job de migração é aberta.

  3. Clique em Retomar.
  4. Na caixa de diálogo, clique em Retomar.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID pelo identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e conferir os identificadores deles.

  • REGION pelo identificador da região em que o perfil de conexão está salvo.

Execute o seguinte comando:

Linux, macOS ou 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

Resultado

A ação é realizada de maneira assíncrona. Assim, esse comando retorna uma entidade Operation que representa uma operação de longa duração:

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
Para ver se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

Reiniciar um job de migração

Se um job de migração falhar e não for recuperável ou for interrompido durante a fase inicial de despejo completo, será possível reiniciá-lo desde o início.

Reiniciar a migração limpa todos os dados de todos os bancos de dados de destino afetados por erros e inicia um novo despejo completo. Se novos bancos de dados foram criados no servidor PostgreSQL de origem desde o início da migração, reiniciar a migração também replica esses novos bancos de dados na instância de destino.

É possível reiniciar todos os bancos de dados no job de migração ou apenas bancos de dados específicos.

Para reiniciar um job de migração, siga estas etapas:

Console

  1. No console do Google Cloud , acesse a página Jobs de migração.

    Acessar Jobs de migração

  2. Na guia Jobs, clique no nome de exibição do job de migração que você quer reiniciar.

    A página de detalhes do job de migração é aberta.

  3. Execute uma das seguintes ações de reinicialização:
    • Se você quiser reiniciar todos os bancos de dados incluídos na migração, clique em Reiniciar na barra de ferramentas do job de migração.

      A caixa de diálogo de reinicialização do job de migração será exibida.

    • Se quiser reiniciar apenas bancos de dados específicos, selecione-os usando as caixas de seleção ao lado dos nomes dos bancos de dados e, na guia Bancos de dados, clique em Reiniciar.

      A caixa de diálogo com o número de bancos de dados que você quer reiniciar é exibida.

  4. Na caixa de diálogo, clique em Reiniciar.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID pelo identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e conferir os identificadores deles.

  • REGION pelo identificador da região em que o job de migração está salvo.
  • Opcional: o Database Migration Service migra todos os bancos de dados na origem por padrão. Se você quiser migrar apenas bancos de dados específicos, use a flag --databases-filter e especifique os identificadores como uma lista separada por vírgulas.

    Por exemplo: --databases-filter=my-business-database,my-other-database

    Depois, é possível editar os jobs de migração criados com a flag --databases-filter usando o comando gcloud database-migration migration-jobs update.

Execute o seguinte comando:

Linux, macOS ou 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

Resultado

A ação é realizada de maneira assíncrona. Assim, esse comando retorna uma entidade Operation que representa uma operação de longa duração:

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
Para ver se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

Atualizar um job de migração de rascunho

Para concluir a criação de um job de migração, siga estas etapas:

Console

  1. No console do Google Cloud , acesse a página Jobs de migração.

    Acessar Jobs de migração

  2. Na guia Rascunhos, clique no nome de exibição do job de migração que você quer terminar de criar.

    O assistente de criação de jobs de migração é aberto.

  3. Conclua a criação do job de migração. Consulte Criar um job de migração.

gcloud

Este exemplo usa a flag opcional --no-async para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. É possível pular a flag --no-async para executar comandos de forma assíncrona. Se você fizer isso, use o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID por um identificador legível por máquina para o job de migração.
  • REGION pelo identificador da região em que você quer salvar o perfil de conexão.
  • MIGRATION_JOB_NAME por um nome legível por humanos para o job de migração. Esse valor é exibido no Database Migration Service no console do Google Cloud .
  • SOURCE_CONNECTION_PROFILE_ID por um identificador legível por máquina do perfil de conexão de origem.
  • DESTINATION_CONNECTION_PROFILE_ID pelo identificador legível por máquina do perfil de conexão de destino.
  • COMMA_SEPARATED_DATABASE_ID_LIST por uma lista separada por vírgulas de identificadores de banco de dados do PostgreSQL que você quer migrar.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
create MIGRATION_JOB_ID \
  --no-async \
  --region=REGION \
  --display-name=MIGRATION_JOB_NAME \
  --source=SOURCE_CONNECTION_PROFILE_ID \
  --destination=DESTINATION_CONNECTION_PROFILE_ID \
  --databases-filter=COMMA_SEPARATED_DATABASE_ID_LIST \
  --type=CONTINUOUS

Windows (PowerShell)

gcloud database-migration migration-jobs `
create MIGRATION_JOB_ID `
  --no-async `
  --region=REGION `
  --display-name=MIGRATION_JOB_NAME `
  --source=SOURCE_CONNECTION_PROFILE_ID `
  --destination=DESTINATION_CONNECTION_PROFILE_ID `
  --databases-filter=COMMA_SEPARATED_DATABASE_ID_LIST `
  --type=CONTINUOUS

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
create MIGRATION_JOB_ID ^
  --no-async ^
  --region=REGION ^
  --display-name=MIGRATION_JOB_NAME ^
  --source=SOURCE_CONNECTION_PROFILE_ID ^
  --destination=DESTINATION_CONNECTION_PROFILE_ID ^
  --databases-filter=COMMA_SEPARATED_DATABASE_ID_LIST ^
  --type=CONTINUOUS

Você receberá uma resposta semelhante a esta:

Waiting for migration job [MIGRATION_JOB_ID]
to be updated with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Updated migration job MIGRATION_JOB_ID [OPERATION_ID]

Adicionar ou remover bancos de dados do job de migração

É possível adicionar ou remover bancos de dados em qualquer estado ou fase de migração, quantas vezes você precisar. Quando você remove um banco de dados, o Database Migration Service interrompe o processo de replicação nele, mas não o remove da instância de destino do Cloud SQL.

Para adicionar ou remover bancos de dados do job de migração, siga estas etapas:

  1. No console do Google Cloud , acesse a página Jobs de migração.

    Acessar Jobs de migração

  2. Na guia Jobs, clique no nome de exibição do job de migração. A página de detalhes do job de migração é aberta.
  3. Clique em Editar.
  4. Na seção Selecionar bancos de dados para migrar, use as caixas de seleção para selecionar o novo banco de dados que você quer adicionar ao job de migração ou desmarque os que você quer remover.
  5. Clique em Salvar.

Editar um job de migração que não é um rascunho

Para editar o nível de paralelismo de despejo de dados de um job de migração em execução, consulte Considerações sobre paralelismo. É necessário salvar e reiniciar o job de migração depois de mudar as configurações de paralelismo.

Para jobs de migração que não são de rascunho, use a Google Cloud CLI para alterar o nome de exibição do job de migração:

Este exemplo usa a flag opcional --no-async para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. É possível pular a flag --no-async para executar comandos de forma assíncrona. Se você fizer isso, use o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID pelo identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e conferir os identificadores deles.

  • REGION pelo identificador da região em que o perfil de conexão está salvo.
  • MIGRATION_JOB_NAME por um nome legível por humanos para o job de migração. Esse valor é exibido no Database Migration Service no console do Google Cloud .

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
update MIGRATION_JOB_ID \
  --region=REGION \
  --display-name=MIGRATION_JOB_NAME

Windows (PowerShell)

gcloud database-migration migration-jobs `
update MIGRATION_JOB_ID `
  --region=REGION `
  --display-name=MIGRATION_JOB_NAME

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
update MIGRATION_JOB_ID ^
  --region=REGION ^
  --display-name=MIGRATION_JOB_NAME

Você receberá uma resposta semelhante a esta:

Waiting for migration job [MIGRATION_JOB_ID]
to be updated with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Updated migration job MIGRATION_JOB_ID [OPERATION_ID]

Testar um job de migração

Antes de executar o job de migração, faça um teste para verificar se o Database Migration Service pode acessar todas as entidades de origem e destino necessárias. No console do Google Cloud , só é possível testar jobs de migração de rascunho criados no assistente de criação de jobs de migração (consulte Criar um job de migração).

Com a CLI gcloud, é possível testar jobs de migração criados, mas ainda não iniciados.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID pelo identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e conferir os identificadores deles.

  • REGION pelo identificador da região em que o perfil de conexão está salvo.

Execute o seguinte comando:

Linux, macOS ou 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

Resultado

A ação é realizada de maneira assíncrona. Assim, esse comando retorna uma entidade Operation que representa uma operação de longa duração:

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

Para ver se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

Ver detalhes da migração de um banco de dados específico

Quando o job de migração estiver totalmente criado (ou seja, não estiver salvo em um estado de rascunho), use a Google Cloud CLI para ver detalhes sobre um banco de dados específico nesse job de migração.

Este exemplo usa a flag opcional --no-async para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. É possível pular a flag --no-async para executar comandos de forma assíncrona. Se você fizer isso, use o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID pelo identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e conferir os identificadores deles.

  • REGION pelo identificador da região em que o perfil de conexão está salvo.
  • DATABASE_NAME pelo nome do banco de dados.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud database-migration objects lookup --migration-job=MIGRATION_JOB_ID \
  --region=REGION --database=DATABASE_NAME

Windows (PowerShell)

gcloud database-migration objects lookup --migration-job=MIGRATION_JOB_ID `
  --region=REGION --database=DATABASE_NAME

Windows (cmd.exe)

gcloud database-migration objects lookup --migration-job=MIGRATION_JOB_ID ^
  --region=REGION --database=DATABASE_NAME

Resultado

O resultado será o seguinte:

createTime: '2025-03-21T17:05:19.211441641Z'
name: PROJECT_ID
phase: FULL_DUMP
sourceObject:
  database: DATABASE_NAME
  type: DATABASE
state: RUNNING
Para ver se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

Ver detalhes da migração de bancos de dados específicos

Quando o job de migração estiver totalmente criado (ou seja, não estiver salvo em um estado de rascunho), use a Google Cloud CLI para listar todos os bancos de dados selecionados para esse job de migração e ver detalhes sobre eles.

Este exemplo usa a flag opcional --no-async para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. É possível pular a flag --no-async para executar comandos de forma assíncrona. Se você fizer isso, use o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID pelo identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e conferir os identificadores deles.

  • REGION pelo identificador da região em que o perfil de conexão está salvo.

Execute o seguinte comando:

Linux, macOS ou 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

Resultado

O resultado será o seguinte:

Waiting for migration job MIGRATION_JOB_ID
to fetch source objects with OPERATION_ID

Waiting for operation OPERATION_ID to complete...done.

SOURCE_OBJECT                            STATE    PHASE      ERROR
{'database': 'db1', 'type': 'DATABASE'}  RUNNING  FULL_DUMP
{'database': 'db2', 'type': 'DATABASE'}  STOPPED  CDC        {'code': 1, 'message': 'Internal error'}
Para ver se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração: