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

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

Atualizando espaços de trabalho para conversão automática com tecnologia Gemini

Os espaços de trabalho de conversão atualizados fornecem acesso aos recursos de conversão automática do Gemini .

Você pode atualizar um espaço de trabalho de conversão somente quando acessá-lo pela primeira vez imediatamente após a criação, aceitando a oferta na caixa de diálogo:

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

Não é possível atualizar um espaço de trabalho de conversão existente. Se quiser usar os recursos atualizados do espaço de trabalho de conversão, crie um novo espaço de trabalho de conversão para usar com seu trabalho de migração.

Remover objetos do esquema de origem

Remova objetos do esquema de origem para excluí-los da conversão. Posteriormente, você poderá adicionar objetos removidos, se necessário.

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

    Vá para espaços de trabalho de conversão

  2. Na guia Oracle , próximo ao objeto que você deseja remover, selecione More > Remove .
  3. Na caixa de diálogo de confirmação Remover objeto , clique em Remover .
  4. Atualize seu esquema convertido. Clique em Converter fonte . O Database Migration Service agora analisa suas alterações e gera o esquema PostgreSQL atualizado.

    Você pode inspecionar o esquema convertido na guia de rascunho do Cloud SQL para PostgreSQL .

Adicione objetos ao esquema de origem

Você pode adicionar objetos removidos anteriormente do esquema de origem para adicioná-los à conversão.

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

    Vá para 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ê deseja adicionar ao esquema de origem.

    Você pode usar o botão Filtrar objetos para reduzir o número de objetos exibidos. Consulte Filtrar objetos na visualização do esquema de origem

  4. Clique em Adicionar objetos .
  5. Atualize seu esquema convertido. Clique em Converter fonte . O Database Migration Service agora analisa suas alterações e gera o esquema PostgreSQL atualizado.

    Você pode inspecionar o esquema convertido na guia de rascunho do Cloud SQL para PostgreSQL .

Extrair esquema de origem e instantâneo de código

Você pode extrair esquema e código do seu banco de dados de origem para o espaço de trabalho de conversão a qualquer momento. Extrair a origem oferece a oportunidade de adicionar novos objetos ou atualizar objetos existentes na conversão.

Extrair o esquema e o código do banco de dados atualizado não redefine nenhum mapeamento personalizado existente no espaço de trabalho de conversão, a menos que você opte explicitamente por remover os mapeamentos personalizados.

Além disso, extrair a origem não substitui as alterações SQL nos objetos de código. Você pode redefinir essas alterações diretamente no nível do objeto.

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

    Vá para espaços de trabalho de conversão

  2. Clique em Editar configuração > Extrair instantâneo do esquema de origem novamente .
  3. Na caixa de diálogo:
    1. Opcional: Selecione Redefinir mapeamento customizado para remover mapeamentos customizados existentes e modificações de DDL.
    2. Clique em Extrair instantâneo do esquema .

      O Database Migration Service extrai o novo instantâneo do seu banco de dados de origem.

  4. Atualize seu esquema convertido. Clique em Converter fonte . O Database Migration Service agora analisa suas alterações e gera o esquema PostgreSQL atualizado.

    Você pode inspecionar o esquema convertido na guia de rascunho do Cloud SQL para PostgreSQL .

Use mapeamentos de conversão personalizados

Você pode 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 (referidas como diretivas de conversão ) sobre como seus objetos Oracle devem ser convertidos em objetos PostgreSQL.

Escreva um arquivo de mapeamento personalizado

Para gravar seus arquivos de mapeamento personalizados:

  1. Revise a lista de diretivas de conversão suportadas .

  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 carregue-os no espaço de trabalho de conversão.

Adicione 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 Google Cloud console, acesse Espaços de trabalho de conversão e selecione seu espaço de trabalho.

    Vá para 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 selecionar seu 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 personalizado do seu espaço de trabalho, faça o seguinte:

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

    Vá para espaços de trabalho de conversão

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

Revise os resultados da conversão

Após realizar a conversão de origem, você poderá revisar os resultados da conversão e possíveis problemas para cada objeto convertido individual na área do editor da área de trabalho. Você também pode usar a CLI do Google Cloud para salvar todos os resultados e problemas em massa em um arquivo de texto.

Console

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

    Vá para espaços de trabalho de conversão

  2. Clique no nome de exibição do espaço de trabalho de conversão com o qual deseja trabalhar.

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

  3. Selecione a guia Oracle e localize o objeto cujos resultados de conversão você deseja revisar na tabela de exibição em árvore.

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

gcloud

Com o Google Cloud CLI você pode imprimir todos os resultados de conversão ou problemas no terminal. Redirecione a saída para um arquivo para revisões de objetos em massa mais convenientes.

Obtenha uma lista de resultados de conversão

A CLI gcloud exibe os resultados da conversão no terminal na forma de instruções de 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

Substituir:

  • CONVERSION_WORKSPACE_ID pelo identificador do espaço de trabalho de conversão. Para obter informações sobre como recuperar identificadores do espaço de trabalho de conversão, consulte Visualizar detalhes do espaço de trabalho de conversão .
  • REGION_ID com o nome da região onde o espaço de trabalho de conversão está localizado.
  • OUTPUT_FILE_PATH com o caminho para o arquivo de texto onde você deseja 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 onde 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;
    

Obtenha 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

Substituir:

  • CONVERSION_WORKSPACE_ID pelo identificador do espaço de trabalho de conversão. Para obter informações sobre como recuperar identificadores do espaço de trabalho de conversão, consulte Visualizar detalhes do espaço de trabalho de conversão .
  • REGION_ID com o nome da região onde o espaço de trabalho de conversão está localizado.
  • OUTPUT_FILE_PATH com o caminho para o arquivo de texto onde você deseja 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 em seu espaço de trabalho são salvos em um formato de texto onde 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 pode não conseguir converter automaticamente toda a sua origem. Para a maioria dos objetos Oracle, você pode usar o editor de conversão diretamente no Database Migration Service para ajustar o SQL gerado. Para outros, talvez seja necessário alterar o objeto diretamente no banco de dados de origem e, em seguida, extrair o snapshot de origem novamente .

Para obter 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 Oracle editáveis .

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

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

    Vá para espaços de trabalho de conversão

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

    Você pode usar o Google Cloud console para revisar objetos individuais ou CLI gcloud para revisar todos os objetos em massa.

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

    Independentemente do tipo de problema com o qual você está trabalhando, você pode tentar o assistente de conversão desenvolvido pelo Gemini para encontrar uma solução. Para obter mais informações, consulte Usar o assistente de conversão Gemini .

    Corrija problemas com objetos suportados pelo editor integrado

    Para corrigir problemas encontrados com objetos suportados no editor de espaço de trabalho, faça o seguinte:

    1. Encontre seu problema na visualização em árvore do Oracle e selecione a guia Código .
    2. Use o editor SQL para atualizar o código gerado. O Serviço de Migração de Banco de Dados não valida a exatidão do código SQL adicionado no editor.

    Corrija problemas com objetos que não são suportados pelo editor integrado

    Para corrigir problemas encontrados com objetos que não são suportados no editor de espaço de trabalho, execute um dos seguintes procedimentos:

    Atualize objetos defeituosos em sua fonte
    Para alguns problemas, talvez seja necessário alterar a instrução 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.
    Forneça mapeamentos adicionais 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 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 seu 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 aba de fontes
    O serviço de migração de banco de dados permite converter arquivos . Para desbloquear o processo de conversão, você pode decidir examinar mais de perto o objeto defeituoso posteriormente. Remova o objeto da guia de fontes .
  4. Teste seu esquema para verificar se o Database Migration Service pode aplicar corretamente seu código ao banco de dados de destino.

Teste seu esquema no destino

Antes de aplicar o esquema ao banco de dados de destino, você pode primeiro 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 do teste não afeta a instância de destino do Cloud SQL.

  1. Certifique-se de que seu usuário de migração dedicado tenha a permissão CREATEDB . Para obter mais informações, consulte Criar e configurar sua instância de destino do Cloud SQL .

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

    Vá para espaços de trabalho de conversão

  3. Clique no nome de exibição do espaço de trabalho de conversão com o qual deseja trabalhar.

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

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

    O assistente para aplicação do esquema ao banco de dados de destino é exibido.

  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 aplicativo , selecione os esquemas de entidades de banco de dados que você deseja testar para seu banco de dados de destino.

    Você pode usar o botão Filtrar objetos para reduzir o número de objetos exibidos. Consulte Filtrar objetos na visualização do esquema de origem .

  8. Clique em Testar aplicativo .

    Você pode revisar o status do aplicativo na guia Cloud SQL para PostgreSQL .

Aplicar esquema ao destino

Quando o esquema que você gostaria de usar no banco de dados de destino for convertido de acordo com seus requisitos e mapeamentos, você poderá 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 Google Cloud console, acesse Espaços de trabalho de conversão .

    Vá para espaços de trabalho de conversão

  2. Clique no nome de exibição do espaço de trabalho de conversão com o qual deseja trabalhar.

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

  3. Clique em Aplicar ao destino > Aplicar .

    O assistente para aplicação do esquema ao banco de dados de destino é exibido.

  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 conversão ao destino , selecione os esquemas de entidades de banco de dados que você deseja criar em seu banco de dados de destino.

    Você pode usar o botão Filtrar objetos para reduzir o número de objetos exibidos. Consulte Filtrar objetos na visualização do esquema de origem .

  7. Clique em Aplicar ao destino .

    Você pode revisar o status do aplicativo na guia Cloud SQL para PostgreSQL .

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

Você pode criar um trabalho de migração que use seu espaço de trabalho de conversão diretamente na interface do editor de conversão.

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

    Vá para espaços de trabalho de conversão

  2. Clique no nome de exibição do espaço de trabalho de conversão com o qual deseja trabalhar.

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

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

  4. Prossiga com as etapas padrão do trabalho de migração, conforme descrito em Criar um trabalho de migração .

Filtrar objetos na visualização do esquema de origem

Os esquemas de banco de dados geralmente contêm milhares de objetos, dificultando o trabalho de conversão de partições. Ao adicionar objetos do instantâneo 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 focar 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 Function ou Table .
    3. Status de conversão para filtrar os objetos pelo status de conversão, como Ação necessária ou Sem problemas .
    4. Aumentado pelo Gemini para filtrar objetos que foram convertidos com a conversão automática do Gemini .

    Você pode combinar propriedades de filtro com operadores lógicos.

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

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

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

Sintaxe de filtragem de texto suportada

Você pode filtrar objetos por nome com pesquisa básica de texto livre ou usar uma propriedade type dedicada. Ambas as abordagens suportam a especificação formal da API do Google para filtragem , o que significa que você pode usar literais com curingas, bem como 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 oferece suporte a curingas.

Exemplo :

A consulta *JOB* usa curingas para procurar entidades que contenham a subsequência JOB . A visualização filtrada retorna algumas tabelas e um procedimento armazenado:

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

Você pode filtrar objetos por todos os tipos padrão suportados no Database Migration Service.

A propriedade type suporta 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 tabelas presentes em seu esquema:

Captura de tela de resultados de exemplo para filtrar objetos por propriedade de tipo.
Combine condições de filtragem

Você pode especificar diversas condições combinando-as com operadores lógicos.

Por exemplo, para pesquisar exclusivamente tabelas cujos nomes contenham as substrings JOB ou EMPLOYEE , use esta consulta:

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

Como resultado, o filtro exibe todas as tabelas correspondentes:

Captura de tela de resultados de exemplo para filtrar objetos por uma combinação de   propriedades de tipo e nome.