Migrar workloads do Oracle para o AlloyDB para PostgreSQL usando o Database Migration Service

Este guia de início rápido mostra como usar o Database Migration Service para migrar cargas de trabalho do Oracle para o AlloyDB para PostgreSQL. Os recursos criados neste guia de início rápido normalmente custam menos de um dólar (USD), supondo que você conclua as etapas, incluindo a limpeza, em tempo hábil.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Database Migration Service API.

    Enable the API

  7. Verifique se você tem o papel de administrador de migração do banco de dados atribuído à sua conta de usuário.

    Acessar a página IAM

Requisitos

O Database Migration Service oferece várias opções de banco de dados de origem, opções de banco de dados de destino e métodos de conectividade. Diferentes fontes e destinos funcionam melhor com alguns métodos de conectividade do que com outros.

Neste guia de início rápido, presumimos que você:

  • Use um banco de dados Oracle independente em um ambiente em que seja possível configurar a rede para adicionar uma regra de firewall de entrada. O banco de dados de origem pode ser local ou em um provedor de nuvem. Como não sabemos as especificações do seu ambiente, não podemos fornecer etapas detalhadas sobre a configuração de rede.

  • Quer migrar suas cargas de trabalho do Oracle para um banco de dados de destino do AlloyDB para PostgreSQL.

  • Use o método de conectividade IP particular. Esse tipo de conectividade exige que você crie uma configuração de conectividade privada para o banco de dados de destino do AlloyDB para PostgreSQL.

Criar perfis de conexão

Ao criar perfis de conexão, você cria registros que contêm informações sobre os bancos de dados de origem e de destino. O Database Migration Service usa as informações nos perfis de conexão para migrar dados do banco de dados Oracle de origem para a instância de banco de dados do AlloyDB para PostgreSQL.

Nesta seção, você aprenderá a criar perfis de conexão para:

  • Um banco de dados Oracle de origem
  • Um banco de dados de destino do AlloyDB para PostgreSQL

Criar um perfil de conexão do Oracle

  1. Acesse a página "Perfis de conexão do Database Migration Service" no console do Google Cloud .

    Acessar a página "Perfis de conexão do serviço de migração de banco de dados"

  2. Clique em CRIAR PERFIL.

  3. Na página Criar um perfil de conexão, na lista Função do perfil, selecione Origem.

  4. Na lista Mecanismo de banco de dados, selecione Oracle.

  5. Forneça as seguintes informações:

    1. No campo Nome do perfil de conexão, digite um nome para o perfil de conexão do banco de dados Oracle de origem, como My Oracle Connection Profile.

    2. Mantenha o ID do perfil de conexão gerado automaticamente.

    3. Selecione a Região em que o perfil de conexão está armazenado.

    4. Insira o endereço Nome do host ou IP (domínio ou IP) e a Porta para acessar o banco de dados Oracle de origem. A porta padrão do Oracle é 1521.

    5. Insira um Nome de usuário e uma Senha para autenticar no banco de dados de origem.

    6. No campo Nome do serviço, insira o serviço que garante que o banco de dados Oracle de origem seja protegido e monitorado. Para bancos de dados Oracle, o serviço de banco de dados geralmente é ORCL.

  6. Clique em Continuar.

  7. Na seção Proteger sua conexão, clique em Continuar.

  8. Na lista Método de conectividade, selecione um método de conectividade de rede. Esse método define como o Database Migration Service se conecta ao banco de dados Oracle de origem.

    Neste guia de início rápido, selecione Lista de permissões de IP como o método de rede.

  9. Clique em Executar teste para verificar se o Database Migration Service pode se comunicar com a origem.

    Se o teste falhar, isso indicará que parte do processo teve um problema. É possível fazer as alterações necessárias e depois testar novamente na página Criar um perfil de conexão.

    Navegue até a parte do fluxo em questão para corrigir o problema e teste novamente.

  10. Clique em Criar.

Criar um perfil de conexão de destino

  1. Acesse a página "Perfis de conexão do Database Migration Service" no console do Google Cloud .

    Acessar a página "Perfis de conexão do serviço de migração de banco de dados"

  2. Clique em Create profile.

  3. Na página Criar um perfil de conexão, na lista Papel do perfil, selecione Destino.

  4. Na lista Mecanismo de banco de dados, selecione AlloyDB para PostgreSQL.

  5. Forneça as seguintes informações:

    1. No campo Nome do perfil de conexão, digite um nome para o perfil de conexão do banco de dados de destino do AlloyDB para PostgreSQL, como My AlloyDB for PostgreSQL Connection Profile.

    2. Mantenha o ID do perfil de conexão gerado automaticamente.

    3. Selecione a Região em que o perfil de conexão está armazenado.

    4. Selecione o cluster do AlloyDB para PostgreSQL que você quer usar como banco de dados de destino da migração.

    5. Digite o endereço Nome do host ou IP (domínio ou IP) e a Porta para acessar o banco de dados de destino. A porta padrão do AlloyDB para PostgreSQL é 5432.

    6. Insira um Nome de usuário e uma Senha para autenticar no banco de dados de destino.

  6. Clique em Continuar.

  7. Na seção Proteger sua conexão, clique em Continuar.

  8. No menu Método de conectividade, selecione IP privado.

    O método de conectividade define como o Database Migration Service se conecta ao banco de dados de destino do AlloyDB para PostgreSQL. O IP particular exige que você crie primeiro uma configuração de conectividade particular.

  9. Clique em Executar teste para verificar se o Database Migration Service pode se comunicar com o banco de dados de destino.

    Se o teste falhar, isso indicará que parte do processo teve um problema. É possível fazer as alterações necessárias e depois testar novamente na página Criar um perfil de conexão.

    Navegue até a parte do fluxo em questão para corrigir o problema e teste novamente.

  10. Clique em Criar.

Criar um espaço de trabalho de conversão

Os espaços de trabalho de conversão ajudam a converter o esquema e os objetos do banco de dados de origem em um formato compatível com o banco de dados de destino. Essa conversão permite que o Database Migration Service migre seus dados entre os bancos de dados de origem e de destino.

Para criar um espaço de trabalho de conversão, faça o seguinte:

  • Defina as configurações do espaço de trabalho de conversão.
  • Conecte-se ao banco de dados de origem e extraia as informações do esquema para Database Migration Service.
  • Realize a conversão automática com ajustes opcionais usando:

    • Editor do espaço de trabalho de conversão: um espaço de edição em tempo real em que você pode modificar o SQL usado para a conversão
    • Arquivos de configuração do Ora2Pg para fornecer mapeamentos de conversão adicionais
  • Aplicar o esquema convertido ao banco de dados de destino: o Database Migration Service usa o SQL gerado para criar todas as entidades necessárias no banco de dados de destino e garantir que os dados de migração sejam carregados corretamente no banco de dados.

Definir as configurações do espaço de trabalho de conversão

  1. Acesse a página "Espaços de trabalho de conversão do Database Migration Service" no console do Google Cloud .

    Acesse a página "Espaços de trabalho de conversão do serviço de migração de banco de dados"

  2. Clique em Create workspace.

  3. Forneça as seguintes informações:

    1. No campo Nome do espaço de trabalho da conversão, insira um nome, como My Conversion Workspace.

    2. Mantenha o ID do espaço de trabalho de conversão gerado automaticamente.

    3. Selecione a região em que o espaço de trabalho de conversão está armazenado.

    4. A lista Mecanismo de banco de dados de origem é preenchida automaticamente com Oracle.

    5. Na lista Mecanismo de banco de dados de destino, selecione AlloyDB para PostgreSQL.

  4. Revise os pré-requisitos necessários que são gerados automaticamente para refletir como o ambiente precisa estar preparado para um espaço de trabalho de conversão. Esses pré-requisitos incluem como:

  5. Clique em Criar espaço de trabalho e continuar.

Conectar-se à origem e converter objetos

  1. Abra a lista Perfil de conexão de origem e selecione o perfil de conexão que você criou.

  2. Clique em Executar teste para verificar se o Database Migration Service pode se comunicar com a origem.

    Se um teste falhar, isso indicará que parte do processo teve um problema. É possível fazer as alterações necessárias e depois testar novamente.

    Navegue até a parte do fluxo em questão para corrigir o problema e teste novamente.

  3. Clique em Extrair esquema e continuar.

    O Database Migration Service começa a se conectar ao banco de dados de origem para fazer o download das informações do esquema. Essa operação pode levar alguns minutos, dependendo de fatores como conectividade de rede ou tamanho do banco de dados.

    Depois que o Database Migration Service terminar de extrair as informações do esquema, a seção Selecionar e converter objetos será aberta.

  4. Use a visualização de árvore de esquema para selecionar todas as entidades que você quer que o Database Migration Service converta em um esquema compatível com o mecanismo SQL do banco de dados de destino.

  5. Clique em Converter e continuar.

    O Database Migration Service cria o espaço de trabalho de conversão e realiza a conversão do esquema. Agora é possível visualizar o SQL gerado automaticamente no editor do espaço de trabalho de conversão.

Aplicar ao destino

Quando o esquema que você quer usar no banco de dados de destino for convertido, use a opção Aplicar ao destino para executar as instruções SQL geradas no banco de dados de destino:

  1. Clique em Aplicar ao destino e selecione uma das seguintes opções:

    • Teste (recomendado): essa operação executa um teste para verificar se o esquema pode ser criado no banco de dados de destino.
    • Aplicar: essa operação tenta criar o esquema convertido no banco de dados de destino.
  2. Na seção Definir destino, selecione o perfil de conexão que aponta para o banco de dados de destino.

  3. Clique em Definir e continuar.

  4. Na seção Analisar objetos e aplicar a conversão ao destino, selecione os esquemas das entidades que você quer criar no banco de dados de destino.

  5. Clique em Aplicar ao destino.

Criar um job de migração

O Database Migration Service usa jobs para migrar dados da instância de banco de dados de origem para a instância de destino do AlloyDB para PostgreSQL.

A criação de um job de migração inclui:

  • Como definir as configurações do job
  • Como especificar informações sobre o perfil de conexão que você criou para o banco de dados de origem (perfil de conexão de origem)
  • Como especificar informações sobre o perfil de conexão que você criou para o banco de dados de destino (perfil de conexão de destino)
  • Como configurar os objetos que você quer migrar do banco de dados de origem
  • Testar o job de migração para garantir que as informações de conexão fornecidas para o job sejam válidas.

Definir configurações para o job de migração

  1. Acesse a página "Jobs de migração do Database Migration Service" no console do Google Cloud .

    Acesse a página de jobs de migração do Database Migration Service

  2. Clique em Criar job de migração.

  3. No campo Nome do job de migração, digite um nome para o job de migração, como My Migration Job.

  4. Mantenha o ID do job de migração gerado automaticamente.

  5. No menu Motor de banco de dados de origem, selecione Oracle.

  6. No menu Mecanismo de banco de dados de destino, selecione AlloyDB para PostgreSQL.

  7. Selecione a Região em que a instância de destino será criada.

  8. Revise os pré-requisitos necessários que são gerados automaticamente para refletir como o ambiente precisa estar preparado para um job de migração. Esses pré-requisitos podem incluir como configurar o banco de dados de origem e como conectá-lo à instância de destino do AlloyDB para PostgreSQL. É melhor concluir esses pré-requisitos nessa etapa, mas é possível concluí-los a qualquer momento antes de testar ou iniciar o job de migração. Para mais informações sobre esses pré-requisitos, consulte Configurar seu banco de dados Oracle de origem.

  9. Clique em Salvar e continuar.

Definir as configurações de origem

Na página Definir sua fonte, faça o seguinte:

  1. Na lista Perfil de conexão de origem, selecione o perfil de conexão de origem da sua instância do Oracle.
  2. Clique em Salvar e continuar.
  3. (Opcional) Na seção Testar perfil de conexão, clique em Executar teste para verificar se o Database Migration Service pode estabelecer uma conexão de rede com a instância de origem.

    É possível criar o job de migração mesmo se o teste de conexão falhar, mas é necessário corrigir todos os problemas de conectividade antes de executar o job de migração.

  4. Na seção Customize source configuration, defina as seguintes configurações:
    • Na seção Configuração de despejo completo, selecione Automático.
    • Nas Configurações de leitura da origem, use os padrões de simultaneidade sugeridos.
  5. Clique em Salvar e continuar.

Definir as configurações de destino

Na página Definir seu destino, faça o seguinte:

  1. Na lista Perfil de conexão de destino, selecione o perfil de conexão de destino.
  2. Clique em Salvar e continuar.
  3. (Opcional) Na seção Testar perfil de conexão, clique em Executar teste para verificar se o Database Migration Service pode estabelecer uma conexão de rede com o destino.

    É possível criar o job de migração mesmo se o teste de conexão falhar, mas é necessário corrigir todos os problemas de conectividade antes de executar o job de migração.

  4. Na seção Personalizar a configuração de destino, defina as seguintes configurações:
    • Na seção Máximo de conexões de destino simultâneas, use os padrões de simultaneidade sugeridos.
    • Na seção Tempo limite da transação, use os padrões de tempo limite sugeridos.
  5. Clique em Salvar e continuar.

Selecionar objetos a serem migrados

  1. Selecione o espaço de trabalho de conversão na lista Espaço de trabalho de conversão.

    Depois de selecionar um espaço de trabalho de conversão, a região Selecionar objetos para migrar da página lista todos os objetos (esquemas e tabelas) do banco de dados de origem do Oracle que podem ser migrados para o destino.

  2. Selecione os objetos do banco de dados da lista que você quer que o Database Migration Service migre.

  3. Clique em Salvar e continuar.

Testar e criar o job de migração

  1. Revise as configurações que você escolheu para o job de migração.

  2. Clique em Test job para verificar se:

    • A origem foi configurada com base nos pré-requisitos.

    • O Database Migration Service pode se conectar à origem.

    • O Database Migration Service pode se conectar ao destino.

    • O job de migração é válido, e as versões de origem e destino são compatíveis.

    Se o teste falhar, você pode resolver o problema na parte adequada do fluxo e voltar a fazer o teste.

  3. Clique em Criar e iniciar job para criar o job de migração e iniciá-lo imediatamente.

  4. Clique em Criar e iniciar na caixa de diálogo seguinte.

  5. Na página Jobs de migração, verifique se o status do job é "Iniciando". Após alguns minutos, confirme se o status mudou para "Em execução".

Verificar o job de migração

Nesta seção, você confirma que o Database Migration Service usou o job de migração para migrar dados da instância de banco de dados de origem para a instância de destino do AlloyDB para PostgreSQL.

Verificar usando a ferramenta de validação de dados

Há uma ferramenta de validação de dados de código aberto que pode ser usada para validar melhor a correspondência de dados entre a origem e o destino.

As etapas a seguir mostram um exemplo mínimo para executar validações mais exatas:

  1. Implante ou use uma máquina virtual com acesso à origem e ao destino.

  2. Na máquina virtual, crie uma pasta para instalar a ferramenta de validação de dados.

  3. Navegue até esta pasta.

  4. Use o pip para instalar a ferramenta.

    pip install google-pso-data-validator
    
  5. Crie conexões com o banco de dados Oracle de origem e o banco de dados de destino do AlloyDB para PostgreSQL.

    data-validation connections add -c source Oracle --host 'ip-address' --port port --user username --password pswd --database database-name
    data-validation connections add -c target Postgres --host 'ip-address' --port port --user username --password pswd --database database-name
    

    Exemplo:

    data-validation connections add -c source Oracle --host '10.10.10.11' --port 1521 --user system --password pswd --database XE
    data-validation connections add -c target Postgres --host '10.10.10.12' --port 5432 --user postgres --password pswd --database postgres
    
  6. Crie ou gere uma lista de tabelas para comparar dados entre os bancos de dados de origem e de destino.

    export TABLES_LIST=$(data-validation find-tables --source-conn target --target-conn target --allowed-schemas schema-name)
    

    Exemplo:

    export TABLES_LIST=$(data-validation find-tables --source-conn target --target-conn target --allowed-schemas public)
    
  7. Execute a validação completa em todas as tabelas.

    data-validation validate column --source-conn source --target-conn target --tables-list "${TABLES_LIST}"
    

Sugerimos que você execute essa validação durante a replicação para garantir a consistência relativa. Consultas de tabelas grandes podem levar muito tempo para serem executadas durante uma pequena janela de promoção. Nesses casos, use a ferramenta de validação de dados para adicionar filtros e reduzir o tempo de execução ou preparar a lista de tabelas para incluir um subconjunto de tabelas para a validação final.

Isso confirma que o Database Migration Service migrou os dados.

Concluir a migração

Para migrações contínuas, finalize o job de migração quando quiser começar a usar o cluster de destino para o aplicativo.

Use o botão Promote na página de detalhes do job de migração para que o Database Migration Service limpe todos os dados de migração temporários e promova o destino.

  1. Volte para a página Jobs de migração.

  2. Clique no job de migração que você criou neste guia de início rápido. Isso representa a migração que você quer finalizar. A página Detalhes do job de migração é exibida.

  3. Use a Ferramenta de validação de dados para acompanhar o atraso da replicação verificando a contagem de linhas.

    Aguarde o atraso da replicação diminuir significativamente, de preferência na ordem de minutos ou segundos. O atraso da replicação está disponível para revisão na página Jobs de migração.

  4. Depois que o atraso da replicação estiver no mínimo, inicie a transição. Para evitar a perda de dados, faça o seguinte:

    1. Interrompa todas as gravações, a execução de scripts e as conexões de clientes no banco de dados de origem. O período de inatividade começa aqui.

    2. Aguarde até que o atraso da replicação seja zero, o que significa que o job de migração processou todas as mudanças pendentes.

    É possível finalizar uma migração mesmo que o atraso da replicação não esteja em zero. Isso pode reduzir o tempo de inatividade do banco de dados, mas pode afetar a precisão dos dados no destino.

    1. Na página de detalhes do job de migração, clique em Promover e confirme a ação na janela Promover job de migração?.

    O job de migração para de ler o banco de dados de origem. O Database Migration Service promove o destino do AlloyDB para PostgreSQL para limpar todos os dados temporários da migração. Esse processo pode levar vários minutos.

  5. Quando o processo de promoção é concluído, o status do job de migração muda para Concluído.

  6. Agora você pode conectar seu aplicativo à instância de destino do AlloyDB para PostgreSQL e excluir com segurança o job de migração.

A instância do banco de dados do AlloyDB para PostgreSQL está pronta para uso.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

  1. Use o console do Google Cloud para excluir o job de migração, o espaço de trabalho de conversão, os perfis de conexão, a instância de destino do AlloyDB para PostgreSQL e o projeto se você não precisar deles.

A seguir