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

Com os espaços de trabalho de conversão, você pode corrigir problemas de conversão, modificar seus objetos com o editor interativo e aplicar o esquema convertido ao banco de dados de destino. Esta página oferece uma visão geral de todas as ações que você pode realizar com os espaços de trabalho de conversão.

Fazer upgrade de espaços de trabalho para a conversão automática com o Gemini

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

Para fazer upgrade do seu 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.

    Acesse 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", onde
           você pode conferir o número de objetos convertidos, problemas de conversão
           e melhorias de conversão assistidas 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", onde
           você pode conferir o número de objetos convertidos, problemas de conversão
           e melhorias de conversão assistidas pelo Gemini.

Na seção Visão geral da conversão, você pode conferir todas as informações relacionadas à conversão do esquema: o número e o tipo de objetos convertidos, o status de conversão deles (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, problemas pendentes ou resolvidos. A Visão geral da conversão está disponível apenas para espaços de trabalho de conversão atualizados.

Para conferir informações detalhadas sobre o progresso da conversão de código e do 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.

    Acesse os espaços de trabalho de conversão

  2. Na guia Oracle, use a visualização de árvore de 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 do objeto convertido. 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 nos 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 excluí-los da conversão. Se necessário, você pode adicionar objetos removidos mais tarde.

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

    Acesse 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 origem. O Database Migration Service agora analisa suas mudanças e gera o esquema atualizado do PostgreSQL.

    É 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 incluí-los na conversão.

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

    Acesse 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 origem. O Database Migration Service agora analisa suas mudanças e gera o esquema atualizado do PostgreSQL.

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

Extrair o esquema de origem e o snapshot 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. Com a extração da fonte, você pode adicionar novos objetos ou atualizar os existentes na conversão.

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

Além disso, a extração da origem não substitui as mudanças do 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.

    Acesse 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:
    1. Opcional: selecione Redefinir mapeamento personalizado para remover os mapeamentos personalizados e as modificações DDL.
    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 origem. O Database Migration Service agora analisa suas mudanças e gera o esquema atualizado do PostgreSQL.

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

Usar mapeamentos de conversão personalizadas

É 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 os objetos do Oracle precisam ser convertidos em objetos do PostgreSQL.

Gravar um arquivo de mapeamento personalizado

Para gravar seus arquivos de mapeamento personalizados:

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

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

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

Adicionar arquivos de mapeamento personalizados

Para adicionar um arquivo de mapeamento de conversão personalizada 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.

    Acesse os espaços de trabalho de conversão

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

Remover arquivos de mapeamento personalizado

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.

    Acesse os espaços de trabalho de conversão

  2. Na página do editor de conversão, 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 da conversão e possíveis problemas para 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 da conversão com que você quer trabalhar.

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

  3. Selecione a guia Oracle e localize o objeto para o qual você quer analisar os resultados de 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, é possível marcar o problema como resolvido. Caso contrário, você pode investigar mais e corrigir no editor de conversão.

gcloud

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

Conferir uma lista de resultados de conversão

CLI gcloud mostra os resultados da conversão no terminal na forma de instruções de linguagem de definição de dados (DDL). Para salvar os resultados de 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 saber como recuperar identificadores do espaço de trabalho de conversão, consulte Conferir detalhes do espaço de trabalho de conversão.
  • REGION_ID pelo nome da região em que o espaço de trabalho da conversão está localizado.
  • OUTPUT_FILE_PATH pelo 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 do esquema são salvos em um formato de texto em que a primeira linha diz DDLs e as linhas seguintes 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;
    

Conferir 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 saber como recuperar identificadores de espaços de trabalho de conversão, consulte Conferir detalhes do espaço de trabalho de conversão.
  • REGION_ID pelo nome da região em que o espaço de trabalho de conversão está localizado.
  • OUTPUT_FILE_PATH pelo caminho do 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 toda a origem automaticamente. 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, em seguida, extrair o snapshot de origem novamente.

Para conferir uma lista completa de objetos que o Database Migration Service oferece suporte para edição diretamente no espaço de trabalho de conversão, consulte Objetos editáveis do Oracle.

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.

    Acesse 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 talvez precise fornecer um arquivo de mapeamento de conversão personalizado. Abra as seções a seguir para mais informações.

    Independentemente do tipo de problema que você está enfrentando, use o assistente de conversão 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, ele pode ser marcado como resolvido.

    Corrigir problemas com objetos compatíveis com o editor integrado

    Para corrigir problemas encontrados com objetos que têm suporte no editor do espaço de trabalho, faça o seguinte:

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

    Correção de problemas com objetos que não são compatíveis com o editor integrado

    Para corrigir problemas encontrados com objetos que não têm suporte no editor do espaço de trabalho, faça o seguinte:

    Atualizar objetos com falhas 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. Faça o pull das origens 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 sobre 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. Grave 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 melhor 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 corretamente o código ao banco de dados de destino.
  5. Se os testes forem bem-sucedidos, recomendamos usar a guia Problemas de conversão para marcar seus problemas como Resolvido. Assim, você pode filtrar esses problemas das informações gerais de conversão e continuar de onde parou.

Marcar problemas como resolvidos

Ao analisar e corrigir problemas de conversão, é recomendável acompanhar quais problemas já foram corrigidos (ou se eles não vão afetar a migração e não exigem 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.

    Acesse os espaços de trabalho de conversão

  2. Use a visualização Árvore de origem para selecionar o objeto que tem problemas de conversão.
  3. Na guia Problemas de conversão, ao lado do problema, clique em Marcar como resolvido. Agora é possível filtrar esses problemas na visão geral de conversão.

    Tela de resolução de problemas em que você pode marcar os 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 os 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, você pode realizar uma execução de 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 de teste não afeta o cluster de destino do AlloyDB para PostgreSQL.

  1. Verifique se o usuário dedicado da migração 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 da conversão com que você quer trabalhar.

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

  4. Clique em Aplicar à origem > Testar (recomendado).

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

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

  6. Clique em Definir e continuar.

  7. Na seção Selecionar objetos e aplicativo de teste, selecione os esquemas das entidades do 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 analisar o status do aplicativo na guia AlloyDB para PostgreSQL.

Aplicar o 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. Aplicar o 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 da conversão com que você quer trabalhar.

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

  3. Clique em Aplicar à página de destino > Aplicar.

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

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

  5. Clique em Definir e continuar.

  6. 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.

    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 analisar 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 use 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 da conversão com que você quer trabalhar.

    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, você pode usar filtros para limitar o número de objetos exibidos. Os filtros permitem adicionar objetos de maneira mais granular e se concentrar na conversão de um subconjunto selecionado do 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 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 pelo status da conversão, como Ação necessária ou Nenhum problema.
    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 com suporte.

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

Sintaxe de filtragem de texto com suporte

É possível filtrar objetos por nome com a pesquisa de texto livre básica ou usar uma propriedade type dedicada. Ambas as abordagens oferecem suporte à especificação formal da API do Google para filtragem, o que 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 procurar entidades que contêm a substring JOB. A visualização filtrada retorna algumas tabelas e um procedimento armazenado:

Captura de tela de resultados de exemplo para filtrar objetos por nome.
Filtrar usando a propriedade type

É possível filtrar objetos por todos os tipos padrão aceitos no Database Migration Service.

A propriedade type oferece suporte aos 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 resultados de exemplo para a 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 resultados de exemplo para a filtragem de objetos por uma combinação de
  propriedades de tipo e nome.