Ações do espaço de trabalho de conversão

Com os espaços de trabalho de conversão, é possível corrigir problemas de conversão, modificar objetos com o editor interativo e aplicar o esquema convertido ao banco de dados de destino. Nesta página, você encontra uma visão geral de todas as ações que podem ser realizadas com os espaços de trabalho de conversão.

Atualização de espaços de trabalho para a conversão automática com tecnologia do Gemini

Os espaços de trabalho de conversão atualizados oferecem acesso aos recursos de conversão automática com tecnologia do Gemini e visão geral da conversão.

Para fazer upgrade do espaço de trabalho de conversão, faça o seguinte:

  1. No console Google Cloud , acesse Espaços de trabalho de conversão e selecione seu espaço de trabalho.

    Acessar os espaços de trabalho de conversão

  2. Clique em Conheça os recursos para fazer upgrade e aceite a oferta na caixa de diálogo:

    caixa de diálogo que mostra a oferta de upgrade do espaço de trabalho de conversão
            na interface do espaço de trabalho de conversão.
    Figura 1. Oferta de upgrade do espaço de trabalho de conversão. (clique para ampliar)
    caixa de diálogo que mostra a oferta de upgrade do espaço de trabalho de conversão
          na interface do espaço de trabalho de conversão.

Analisar o status da conversão

Tela do espaço de trabalho de conversão com a guia "Visão geral da conversão", em que é possível conferir o número de objetos convertidos, problemas de conversão e melhorias na conversão assistida pelo Gemini.
Figura 2. Tela de visão geral do espaço de trabalho de conversão. (clique para ampliar)
Tela do espaço de trabalho de conversão com a guia "Visão geral da conversão", em que é possível conferir o número de objetos convertidos, problemas de conversão e melhorias na conversão assistida pelo Gemini.

Na seção Visão geral da conversão, você pode conferir todas as informações sobre a conversão de esquema: o número e o tipo de objetos convertidos, o status da conversão (incluindo problemas abertos ou resolvidos) e a lista de melhorias fornecidas pela conversão automática assistida pelo Gemini.

Você também pode usar os filtros em cada categoria para restringir o número de objetos mostrados na visualização em árvore por tipo, gravidade do problema, problemas pendentes ou resolvidos. A visão geral da conversão só está disponível para espaços de trabalho de conversão atualizados.

Para ver informações detalhadas sobre o progresso da conversão de código e esquema, faça o seguinte:

  1. No console Google Cloud , acesse Espaços de trabalho de conversão e selecione seu espaço de trabalho.

    Acessar os espaços de trabalho de conversão

  2. Na guia Oracle, use a visualização em árvore do esquema para fazer uma das seguintes ações:
    • Selecione Oracle para conferir as informações de todos os objetos em todos os esquemas convertidos no seu espaço de trabalho.
    • Selecione um esquema ou objeto específico para conferir os detalhes da conversão de um subconjunto de objetos.
  3. Na guia Visão geral da conversão, confira as informações na seção Resumo de objetos convertidos. Use o botão Mostrar objetos para aplicar qualquer filtro à visualização em árvore na guia Oracle.
  4. Use a guia Problemas de conversão para começar a trabalhar com os problemas de conversão. Para mais informações, consulte Corrigir problemas de conversão.

Remover objetos do esquema de origem

Remova objetos do esquema de origem para excluir da conversão. É possível adicionar objetos removidos depois, se necessário.

  1. No console Google Cloud , acesse Espaços de trabalho de conversão e selecione seu espaço de trabalho.

    Acessar os espaços de trabalho de conversão

  2. Na guia Oracle, ao lado do objeto que você quer remover, selecione Mais > Remover.
  3. Na caixa de diálogo de confirmação Remover objeto, clique em Remover.
  4. Atualize o esquema convertido. Clique em Converter fonte. O Database Migration Service agora analisa suas mudanças e gera o esquema do PostgreSQL atualizado.

    É possível inspecionar o esquema convertido na guia Rascunho do AlloyDB para PostgreSQL.

Adicionar objetos ao esquema de origem

É possível adicionar objetos removidos anteriormente do esquema de origem para incluir na conversão.

  1. No console Google Cloud , acesse Espaços de trabalho de conversão e selecione seu espaço de trabalho.

    Acessar os espaços de trabalho de conversão

  2. Na guia Oracle, clique em Adicionar objetos.
  3. Na seção Adicionar objetos, use a lista de origem para selecionar todas as entidades que você quer adicionar ao esquema de origem.

    Use o botão Filtrar objetos para reduzir o número de objetos mostrados. Consulte Filtrar objetos na visualização do esquema de origem

  4. Clique em Adicionar objetos.
  5. Atualize o esquema convertido. Clique em Converter fonte. O Database Migration Service agora analisa suas mudanças e gera o esquema do PostgreSQL atualizado.

    É possível inspecionar o esquema convertido na guia Rascunho do AlloyDB para PostgreSQL.

Extrair snapshot do esquema de origem e do código

É possível extrair o esquema e o código do banco de dados de origem para o espaço de trabalho de conversão a qualquer momento. Ao extrair a origem, você tem a oportunidade de adicionar novos objetos ou atualizar os que já existem na conversão.

A extração do esquema e do código atualizados do banco de dados não redefine os mapeamentos personalizados que existem no espaço de trabalho de conversão, a menos que você escolha remover mapeamentos personalizados.

Além disso, extrair a origem não substitui as mudanças de SQL nos objetos de código. É possível redefinir essas mudanças diretamente no nível do objeto.

  1. No console Google Cloud , acesse Espaços de trabalho de conversão e selecione seu espaço de trabalho.

    Acessar os espaços de trabalho de conversão

  2. Clique em Editar configuração > Extrair snapshot do esquema de origem outra vez.
  3. Na caixa de diálogo, faça o seguinte:
    1. Opcional: selecione Redefinir mapeamento personalizado para remover os mapeamentos personalizados e as modificações DDL atuais.
    2. Clique em Extrair snapshot do esquema.

      O Database Migration Service extrai o novo snapshot do banco de dados de origem.

  4. Atualize o esquema convertido. Clique em Converter fonte. O Database Migration Service agora analisa suas mudanças e gera o esquema do PostgreSQL atualizado.

    É possível inspecionar o esquema convertido na guia Rascunho do AlloyDB para PostgreSQL.

Usar mapeamentos de conversão personalizados

É possível personalizar a lógica de conversão com um arquivo de mapeamento de conversão. O arquivo de mapeamento de conversão é um arquivo de texto que contém instruções precisas (chamadas de diretivas de conversão) sobre como seus objetos do Oracle devem ser convertidos em objetos do PostgreSQL.

Escrever um arquivo de mapeamento personalizado

Para escrever seus arquivos de mapeamento personalizados:

  1. Consulte a lista de diretivas de conversão compatíveis.

  2. Use o arquivo de configuração de exemplo como ponto de referência.

  3. Escreva seus mapeamentos de conversão personalizados em um editor de texto e faça upload deles no espaço de trabalho de conversão.

Adicionar arquivos de mapeamento personalizados

Para adicionar um arquivo de mapeamento de conversão personalizado ao seu espaço de trabalho, faça o seguinte:

  1. No console Google Cloud , acesse Espaços de trabalho de conversão e selecione seu espaço de trabalho.

    Acessar os espaços de trabalho de conversão

  2. Na página do editor de conversão, selecione Editar configuração > Personalizar mapeamento com um arquivo de configuração.
  3. Na caixa Arquivo de configuração, clique em Procurar e use o seletor de arquivos do sistema para escolher o arquivo de configuração.
  4. Clique em Adicionar arquivo > Criar mapeamento.

Remover arquivos de mapeamento personalizados

Para remover um arquivo de mapeamento de conversão personalizada do seu espaço de trabalho, faça o seguinte:

  1. No console Google Cloud , acesse Espaços de trabalho de conversão e selecione seu espaço de trabalho.

    Acessar os espaços de trabalho de conversão

  2. Na página do editor de conversões, selecione Editar configuração > Remover mapeamento personalizado.

Analisar os resultados da conversão

Depois de realizar a conversão de origem, você pode analisar os resultados e possíveis problemas de cada objeto convertido na área do editor do espaço de trabalho. Também é possível usar a Google Cloud CLI para salvar todos os resultados e problemas em massa em um arquivo de texto.

Console

  1. No console Google Cloud , acesse Espaços de trabalho de conversão.

    Acessar os espaços de trabalho de conversão

  2. Clique no nome de exibição do espaço de trabalho de conversão que você quer usar.

    O editor do espaço de trabalho de conversão é aberto.

  3. Selecione a guia Oracle e localize o objeto para revisar os resultados da conversão na tabela de visualização em árvore.

  4. Selecione o objeto. Use as guias SQL e Problemas de conversão para analisar a conversão.

  5. Se você determinar que o problema é um aviso e não exige nenhuma ação, marque-o como resolvido. Caso contrário, investigue mais a fundo e corrija o problema no editor de conversões.

gcloud

Com a Google Cloud CLI, é possível imprimir todos os resultados ou problemas da conversão no terminal. Redirecione a saída para um arquivo para facilitar as revisões em massa de objetos.

Receber uma lista de resultados de conversão

A CLI gcloud mostra os resultados da conversão no terminal na forma de instruções da linguagem de definição de dados (DDL). Para salvar os resultados da conversão em um arquivo, execute o seguinte comando:

  gcloud database-migration conversion-workspaces describe-ddls \
  CONVERSION_WORKSPACE_ID \
  --region=REGION_ID \
  > OUTPUT_FILE_PATH

Substitua:

  • CONVERSION_WORKSPACE_ID com o identificador do espaço de trabalho de conversão. Para informações sobre como recuperar identificadores de espaços de trabalho de conversão, consulte Ver detalhes do espaço de trabalho de conversão.
  • REGION_ID com o nome da região em que o espaço de trabalho de conversão está localizado.
  • OUTPUT_FILE_PATH com o caminho para o arquivo de texto em que você quer salvar a saída.

    Exemplo:

    gcloud database-migration conversion-workspaces describe-issues \
    my-conversion-workspace \
    --region=us-central1 \
    > ./my-conversion-issues.txt
    

    Resultado:

    Os resultados da conversão de esquema são salvos em um formato de texto em que a primeira linha diz DDLs e as linhas subsequentes são ocupadas por instruções SQL:

    DDLs
    CREATE SCHEMA IF NOT EXISTS "SCHEMA1";
    ALTER TABLE "SCHEMA1"."EMPLOYEES" ADD CONSTRAINT PK_ID PRIMARY KEY ("ID");
    CREATE OR REPLACE FUNCTION mockschema.func_test_datatype(str1 VARCHAR(65000))
      RETURNS DECIMAL
      LANGUAGE plpgsql
      AS $$
        DECLARE
          str2 VARCHAR(100);
        BEGIN
          SELECT
              employees.first_name
            INTO STRICT
              STR2
            FROM
              mockschema.employees
            WHERE employees.employee_id = CAST(FUNC_TEST_DATATYPE.str1 as DECIMAL)
          ;
          RAISE NOTICE '%', concat('Input : ', FUNC_TEST_DATATYPE.str1, ' Output : ', str2);
          RETURN 0;
        END;
      $$;
    CREATE OR REPLACE PROCEDURE greetings AS BEGIN dbms_output.put_line('Hello World!'); END;
    CREATE SYNONYM TABLE "SCHEMA1"."SYNONYM1" ON "SCHEMA1"."EMPLOYEES";
    CREATE OR REPLACE VIEW "SCHEMA1"."VIEW1" AS SELECT * FROM JOBS;
    

Receber uma lista de problemas de conversão

Para salvar problemas de conversão em um arquivo, execute o seguinte comando:

  gcloud database-migration conversion-workspaces describe-issues \
  CONVERSION_WORKSPACE_ID \
  --region=REGION_ID \
  > OUTPUT_FILE_PATH

Substitua:

  • CONVERSION_WORKSPACE_ID com o identificador do espaço de trabalho de conversão. Para informações sobre como recuperar identificadores de espaços de trabalho de conversão, consulte Ver detalhes do espaço de trabalho de conversão.
  • REGION_ID com o nome da região em que o espaço de trabalho de conversão está localizado.
  • OUTPUT_FILE_PATH com o caminho para o arquivo de texto em que você quer salvar a saída.

Exemplo:

  gcloud database-migration conversion-workspaces describe-issues \
  my-conversion-workspace \
  --region=us-central1 \
  > ./my-conversion-issues.txt

Resultado:

Todos os problemas de conversão contidos no seu espaço de trabalho são salvos em um formato de texto em que a primeira linha contém cabeçalhos de coluna e cada linha subsequente contém um problema de conversão separado:

  PARENT   NAME               ENTITY_TYPE       ISSUE_TYPE  ISSUE_SEVERITY  ISSUE_CODE  ISSUE_MESSAGE
  SCHEMA1  EMPLOYEES          TABLE             DDL         ERROR           500         unable to parse DDL.
  SCHEMA1  EMPLOYEES          TABLE             CONVERT     WARNING         206         no conversion done.
  SCHEMA1  STORED_PROCEDURE1  STORED_PROCEDURE  DDL         ERROR           500         invalid DDL.
  SCHEMA1  SYNONYM1           SYNONYM           CONVERT     WARNING         206         synonym warning message.

Corrigir problemas de conversão

O Database Migration Service talvez não consiga converter automaticamente toda a origem. Para a maioria dos objetos do Oracle, é possível usar o editor de conversão diretamente no Database Migration Service para ajustar o SQL gerado. Para outros, talvez seja necessário mudar o objeto diretamente no banco de dados de origem e depois extrair o snapshot de origem novamente.

Para conferir uma lista completa de objetos que o Database Migration Service permite editar diretamente no espaço de trabalho de conversão, consulte Objetos Oracle editáveis.

Para corrigir os problemas de conversão encontrados no seu esquema, faça o seguinte:

  1. No console Google Cloud , acesse Espaços de trabalho de conversão e selecione seu espaço de trabalho.

    Acessar os espaços de trabalho de conversão

  2. Analise os resultados da conversão e identifique possíveis problemas.

    Use o console Google Cloud para analisar objetos individuais ou a CLI gcloud para analisar todos os objetos em massa.

  3. Dependendo do tipo de problema, você pode corrigi-lo diretamente no editor do espaço de trabalho ou fornecer um arquivo de mapeamento de conversão personalizado. Abra as seções a seguir para mais informações.

    Seja qual for o tipo de problema, tente usar o assistente de conversão com tecnologia do Gemini para encontrar uma solução. Para mais informações, consulte Usar o assistente de conversão do Gemini. Se você determinar que o problema é um aviso e não exige nenhuma ação, marque-o como resolvido.

    Corrigir problemas com objetos compatíveis com o editor integrado

    Para corrigir problemas encontrados com objetos compatíveis no editor do espaço de trabalho, faça o seguinte:

    1. Encontre o problema na visualização em árvore Oracle e selecione a guia Código.
    2. Use o editor de SQL para atualizar o código gerado.O Database Migration Service não valida a correção do código SQL adicionado no editor.

    Corrigir problemas com objetos que não são compatíveis com o editor integrado

    Para corrigir problemas encontrados com objetos que não são compatíveis com o editor do espaço de trabalho, faça o seguinte:

    Atualizar objetos com falha na sua origem
    Em alguns casos, talvez seja necessário mudar a instrução do Oracle diretamente no banco de dados de origem. Faça o seguinte:
    1. Atualize o esquema e o código diretamente no banco de dados de origem.
    2. Extraia as fontes atualizadas para o Database Migration Service.
    3. Converta as fontes novamente e verifique se os problemas persistem.
    Fornecer outros mapeamentos com um arquivo de mapeamento de conversão

    Você pode usar um arquivo de mapeamento de conversão para fornecer definições precisas de como o Database Migration Service deve converter determinados objetos do PostgreSQL. Para usar um arquivo de mapeamento de conversão, faça o seguinte:

    1. Escreva um arquivo de mapeamento de conversão.
    2. Adicione o arquivo de configuração ao espaço de trabalho.
    3. Converta as fontes novamente e verifique se os problemas persistem.
    Tente remover o objeto da guia "Origens"
    O Database Migration Service permite converter . Para desbloquear o processo de conversão, você pode analisar o objeto com falha mais tarde. Remova o objeto da guia "Origens".
  4. Teste seu esquema para verificar se o Database Migration Service pode aplicar seu código corretamente ao banco de dados de destino.
  5. Se os testes forem bem-sucedidos, recomendamos que você use a guia Problemas de conversão para marcar os problemas como Resolvidos. Assim, você pode filtrar esses problemas das visões gerais de conversão e retomar depois de onde parou.

Marcar problemas como resolvidos

Ao revisar e corrigir problemas de conversão, talvez seja útil acompanhar quais problemas já foram corrigidos ou determinados como não afetando a migração e não exigindo nenhuma ação. Use o recurso Marcar como resolvido para filtrar esses problemas e facilitar a navegação na lista.

Para marcar um problema como resolvido, faça o seguinte:

  1. No console Google Cloud , acesse Espaços de trabalho de conversão e selecione seu espaço de trabalho.

    Acessar os espaços de trabalho de conversão

  2. Use a visualização Árvore de origem para selecionar o objeto com problemas de conversão.
  3. Na guia Problemas de conversão, clique em Marcar como resolvido ao lado do problema. Agora você pode filtrar esses problemas da visão geral da conversão.

    Tela de resolução de problemas em que você pode marcar problemas de conversão
            como resolvidos para filtrá-los na tela de visão geral da conversão.
    Figura 3. Tela de problemas de conversão em que você pode marcar problemas como resolvidos. (clique para ampliar)
    Tela de resolução de problemas em que você pode marcar problemas de conversão
            como resolvidos para filtrá-los na tela de visão geral da conversão.

Testar o esquema no destino

Antes de aplicar o esquema ao banco de dados de destino, faça um teste para verificar proativamente possíveis problemas. Para realizar o teste, o Database Migration Service cria um banco de dados temporário. A execução do teste não afeta o cluster de destino do AlloyDB para PostgreSQL.

  1. Verifique se o usuário de migração dedicado tem a permissão CREATEDB. Para mais informações, consulte Criar e configurar o cluster de destino do AlloyDB para PostgreSQL.

  2. No console Google Cloud , acesse Espaços de trabalho de conversão.

    Acessar os espaços de trabalho de conversão

  3. Clique no nome de exibição do espaço de trabalho de conversão que você quer usar.

    O editor do espaço de trabalho de conversão é aberto.

  4. Clique em Aplicar ao destino > Teste (recomendado).

    O assistente para aplicar o esquema ao banco de dados de destino vai aparecer.

  5. Na seção Definir destino, selecione o perfil de conexão que aponta para seu banco de dados de destino.

  6. Clique em Definir e continuar.

  7. Na seção Selecionar objetos e testar o aplicativo, escolha os esquemas das entidades de banco de dados que você quer testar no banco de dados de destino.

    Use o botão Filtrar objetos para reduzir o número de objetos mostrados. Consulte Filtrar objetos na visualização do esquema de origem.

  8. Clique em Testar aplicativo.

    É possível revisar o status do aplicativo na guia AlloyDB para PostgreSQL.

Aplicar esquema ao destino

Quando o esquema que você quer usar no banco de dados de destino é convertido de acordo com seus requisitos e mapeamentos, é possível aplicar os resultados ao banco de dados de destino. A aplicação do esquema no destino não altera nenhum dado no banco de dados de origem.

  1. No console Google Cloud , acesse Espaços de trabalho de conversão.

    Acessar os espaços de trabalho de conversão

  2. Clique no nome de exibição do espaço de trabalho de conversão que você quer usar.

    O editor do espaço de trabalho de conversão é aberto.

  3. Clique em Aplicar ao destino > Aplicar.

    O assistente para aplicar o esquema ao banco de dados de destino vai aparecer.

  4. Na seção Definir destino, selecione o perfil de conexão que aponta para seu banco de dados de destino.

  5. Clique em Definir e continuar.

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

    Use o botão Filtrar objetos para reduzir o número de objetos mostrados. Consulte Filtrar objetos na visualização do esquema de origem.

  7. Clique em Aplicar ao destino.

    É possível revisar o status do aplicativo na guia AlloyDB para PostgreSQL.

Criar um job de migração no editor de conversão

É possível criar um job de migração que usa seu espaço de trabalho de conversão diretamente na interface do editor de conversão.

  1. No console Google Cloud , acesse Espaços de trabalho de conversão.

    Acessar os espaços de trabalho de conversão

  2. Clique no nome de exibição do espaço de trabalho de conversão que você quer usar.

    O editor do espaço de trabalho de conversão é aberto.

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

  4. Siga as etapas padrão do job de migração, conforme descrito em Criar um job de migração.

Filtrar objetos na visualização do esquema de origem

Os esquemas de banco de dados geralmente contêm milhares de objetos, o que dificulta a divisão do trabalho de conversão. Ao adicionar objetos do snapshot do esquema à visualização do esquema de origem, é possível usar filtros para limitar o número de objetos mostrados. Com os filtros, é possível adicionar objetos de maneira mais granular e se concentrar na conversão de um subconjunto selecionado do seu esquema.

Use a visualização filtrada ao adicionar objetos à visualização do esquema de origem:

  1. No campo Filtro, use um dos seguintes métodos de filtragem:
  2. Na lista Propriedades, selecione uma das seguintes opções sugeridas automaticamente:
    1. Nome do objeto para filtrar os objetos por nome, por exemplo, ADMIN.
    2. Tipo de objeto para filtrar os objetos por vários tipos, como Função ou Tabela.
    3. Status da conversão para filtrar os objetos por status, como Ação necessária ou Sem problemas.
    4. Aprimorado pelo Gemini para filtrar objetos que foram convertidos com a conversão automática do Gemini.

    É possível combinar propriedades de filtro com operadores lógicos.

  3. Digite sua consulta. Por exemplo, type=table.

    Para mais informações sobre a sintaxe de filtragem, consulte Sintaxe de filtragem compatível.

  4. Selecione os objetos que você quer adicionar à visualização do esquema de origem.

Sintaxe de filtragem de texto compatível

É possível filtrar objetos por nome com uma pesquisa de texto livre básica ou usar uma propriedade type dedicada. As duas abordagens são compatíveis com a especificação formal da API do Google para filtragem. Isso significa que você pode usar literais com caracteres curinga, além de operadores lógicos e de comparação.

Use texto livre para filtrar os objetos por nome. Essa abordagem diferencia maiúsculas de minúsculas e aceita caracteres curinga.

Exemplo:

A consulta *JOB* usa caracteres curinga para pesquisar entidades que contêm a substring JOB. A visualização filtrada retorna algumas tabelas e um procedimento armazenado:

Captura de tela de um exemplo de resultados da filtragem de objetos por nome.
Filtrar usando a propriedade type

É possível filtrar objetos por todos os tipos padrão compatíveis com o Database Migration Service.

A propriedade type é compatível com os seguintes literais com os operadores de igualdade (=) e desigualdade (!=): database, schema, table, column, index, sequence, stored_procedure, function, view, synonym, materialized_view, udt, constraint, database_package, trigger e event_trigger.

Exemplo:

O filtro type=table retorna apenas as tabelas presentes no seu esquema:

Captura de tela de um exemplo de resultados da filtragem de objetos por propriedade de tipo.

Combinar condições de filtragem de texto

É possível especificar várias condições combinando-as com operadores lógicos.

Por exemplo, para pesquisar apenas tabelas com nomes que contêm as substrings JOB ou EMPLOYEE, use esta consulta:

  type=table AND (*JOB* OR *EMPLOYEE*)

Como resultado, o filtro mostra todas as tabelas correspondentes:

Captura de tela de um exemplo de resultados da filtragem de objetos por uma combinação de propriedades de tipo e nome.