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

Os espaços de trabalho de conversão permitem-lhe corrigir problemas de conversão, modificar os seus objetos com o editor interativo e aplicar o esquema convertido à base de dados de destino. Esta página oferece uma vista geral de todas as ações que pode realizar com os espaços de trabalho de conversão.

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

Os espaços de trabalho de conversão atualizados dão acesso às funcionalidades de conversão automática com tecnologia Gemini e resumo das conversões.

Para atualizar o seu espaço de trabalho de conversão, faça o seguinte:

  1. Na Google Cloud consola, aceda a Espaços de trabalho de conversão e selecione o seu espaço de trabalho.

    Aceda aos espaços de trabalho de conversão

  2. Clique em Explorar funcionalidades para atualizar e aceite 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 de 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 de conversão.

Reveja o estado das conversões

Ecrã do espaço de trabalho Conversões com o separador Vista geral das conversões, onde
           pode ver o número de objetos convertidos, problemas de conversão
           e melhorias de conversão assistidas pelo Gemini.
Figura 2. Ecrã de vista geral do espaço de trabalho de conversão. (clique para aumentar)
Ecrã do espaço de trabalho Conversões com o separador Vista geral das conversões, onde
           pode ver o número de objetos convertidos, problemas de conversão
           e melhorias de conversão assistidas pelo Gemini.

Na secção Vista geral das conversões, pode ver todas as informações relativas à conversão do esquema: o número e o tipo de objetos convertidos, o respetivo estado de conversão (incluindo problemas abertos ou resolvidos), bem como a lista de melhorias fornecidas pela conversão automática assistida pelo Gemini.

Também pode usar os filtros em cada categoria para reduzir o número de objetos apresentados na vista de árvore por tipo, gravidade do problema e problemas pendentes ou resolvidos. A vista geral de conversões só está disponível para espaços de trabalho de conversão atualizados.

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

  1. Na Google Cloud consola, aceda a Espaços de trabalho de conversão e selecione o seu espaço de trabalho.

    Aceda aos espaços de trabalho de conversão

  2. No separador Oracle, use a vista de árvore do esquema para fazer uma das seguintes ações:
    • Selecione Oracle para ver as informações de todos os objetos em todos os esquemas convertidos no seu espaço de trabalho.
    • Selecione um esquema ou um objeto específico para ver os detalhes de conversão de um subconjunto de objetos.
  3. No separador Vista geral das conversões, explore as informações na secção Resumo do objeto convertido. Use o botão Mostrar objetos para aplicar qualquer filtro à vista de árvore no separador Oracle.
  4. Use o separador Problemas de conversão para começar a resolver os problemas de conversão. Para mais informações, consulte Corrija problemas de conversão.

Remova objetos do esquema de origem

Remova objetos do esquema de origem para os excluir da conversão. Pode adicionar objetos removidos mais tarde, se necessário.

  1. Na Google Cloud consola, aceda a Espaços de trabalho de conversão e selecione o seu espaço de trabalho.

    Aceda aos espaços de trabalho de conversão

  2. No separador Oracle, junto ao objeto que 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 analisa agora as suas alterações e gera o esquema do PostgreSQL atualizado.

    Pode inspecionar o esquema convertido no separador Rascunho do Cloud SQL para PostgreSQL.

Adicione objetos ao esquema de origem

Pode adicionar objetos removidos anteriormente do esquema de origem para os adicionar à conversão.

  1. Na Google Cloud consola, aceda a Espaços de trabalho de conversão e selecione o seu espaço de trabalho.

    Aceda aos espaços de trabalho de conversão

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

    Pode usar o botão Filtrar objetos para reduzir o número de objetos apresentados. Consulte Filtrar objetos na vista do esquema de origem

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

    Pode inspecionar o esquema convertido no separador Rascunho do Cloud SQL para PostgreSQL.

Extraia o esquema de origem e o instantâneo de código

Pode extrair o esquema e o código da base de dados de origem para o espaço de trabalho de conversão em qualquer altura. A obtenção da origem dá-lhe a oportunidade de adicionar novos objetos ou atualizar os existentes na conversão.

A obtenção do esquema e do código da base de dados atualizados não repõe as associações personalizadas existentes no espaço de trabalho de conversões, a menos que opte explicitamente por remover as associações personalizadas.

Além disso, a obtenção da origem não substitui as alterações de SQL nos objetos de código. Pode repor estas alterações diretamente ao nível do objeto.

  1. Na Google Cloud consola, aceda a Espaços de trabalho de conversão e selecione o seu espaço de trabalho.

    Aceda aos espaços de trabalho de conversão

  2. Clique em Editar configuração > Extrair novamente a captura instantânea do esquema de origem.
  3. Na caixa de diálogo:
    1. Opcional: selecione Repor mapeamento personalizado para remover os mapeamentos personalizados e as modificações da DDL existentes.
    2. Clique em Extrair instantâneo do esquema.

      O Database Migration Service extrai o novo instantâneo da base de dados de origem.

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

    Pode inspecionar o esquema convertido no separador Rascunho do Cloud SQL para PostgreSQL.

Use mapeamentos de conversões personalizadas

Pode personalizar a lógica de conversão com um ficheiro de mapeamento de conversões. O ficheiro de mapeamento de conversões é um ficheiro de texto que contém instruções precisas (denominadas diretivas de conversão) sobre como os seus objetos Oracle devem ser convertidos em objetos PostgreSQL.

Escreva um ficheiro de mapeamento personalizado

Para escrever os seus ficheiros de mapeamento personalizados:

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

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

  3. Escreva os mapeamentos de conversões personalizadas num editor de texto e carregue-os para o espaço de trabalho de conversões.

Adicione ficheiros de mapeamento personalizados

Para adicionar um ficheiro de mapeamento de conversões personalizado ao seu espaço de trabalho, faça o seguinte:

  1. Na Google Cloud consola, aceda a Espaços de trabalho de conversão e selecione o seu espaço de trabalho.

    Aceda aos espaços de trabalho de conversão

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

Remova ficheiros de mapeamento personalizados

Para remover um ficheiro de mapeamento de conversões personalizado do seu espaço de trabalho, faça o seguinte:

  1. Na Google Cloud consola, aceda a Espaços de trabalho de conversão e selecione o seu espaço de trabalho.

    Aceda aos espaços de trabalho de conversão

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

Reveja os resultados das conversões

Depois de fazer a conversão da origem, pode rever os resultados da conversão e possíveis problemas para cada objeto convertido individual na área do editor do espaço de trabalho. Também pode usar a Google Cloud CLI para guardar todos os resultados e problemas em massa num ficheiro de texto.

Consola

  1. Na Google Cloud consola, aceda a Espaços de trabalho de conversão.

    Aceda aos espaços de trabalho de conversão

  2. Clique no nome a apresentar do espaço de trabalho de conversão com o qual quer trabalhar.

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

  3. Selecione o separador Oracle e localize o objeto para o qual quer rever os resultados de conversão na tabela de vista em árvore.

  4. Selecione o objeto. Use os separadores SQL e Problemas de conversão para rever a conversão.

  5. Se determinar que o problema é um aviso e não justifica nenhuma ação, pode marcá-lo como resolvido. Caso contrário, pode investigar mais a fundo e corrigi-lo no editor de conversões.

gcloud

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

Aceda a uma lista de resultados de conversão

A CLI gcloud apresenta os resultados da conversão no terminal sob a forma de declarações de linguagem de definição de dados (LDD). Para guardar os resultados das conversões num ficheiro, execute o seguinte comando:

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

Substituir:

  • CONVERSION_WORKSPACE_ID com o identificador do espaço de trabalho de conversão. Para obter informações sobre como obter identificadores do espaço de trabalho de conversão, consulte Ver 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 ficheiro de texto onde quer guardar 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 guardados num formato de texto em que a primeira linha indica DDLs e as linhas subsequentes são ocupadas por declaraçõ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 guardar os problemas de conversão num ficheiro, execute o seguinte comando:

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

Substituir:

  • CONVERSION_WORKSPACE_ID com o identificador do espaço de trabalho de conversão. Para obter informações sobre como obter identificadores do espaço de trabalho de conversão, consulte Ver 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 ficheiro de texto onde quer guardar 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 guardados num formato de texto, em que a primeira linha contém os cabeçalhos das colunas 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.

Corrija problemas de conversão

O Database Migration Service pode não conseguir converter automaticamente toda a origem. Para a maioria dos objetos Oracle, pode usar o editor de conversão diretamente no Database Migration Service para ajustar o SQL gerado. Para outros, pode ter de alterar o objeto diretamente na base de dados de origem e, em seguida, extrair novamente o instantâneo de origem.

Para ver uma lista completa dos objetos que o serviço de migração de bases de dados suporta para edição diretamente no espaço de trabalho de conversão, consulte o artigo Objetos Oracle editáveis.

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

  1. Na Google Cloud consola, aceda a Espaços de trabalho de conversão e selecione o seu espaço de trabalho.

    Aceda aos espaços de trabalho de conversão

  2. Reveja os resultados das conversões e identifique possíveis problemas.

    Pode usar a Google Cloud consola para rever objetos individuais ou a CLI gcloud para rever todos os objetos em massa.

  3. Consoante o tipo de problema, pode corrigi-lo diretamente no editor do espaço de trabalho ou pode ter de fornecer um ficheiro de mapeamento de conversões personalizado. Expanda as seguintes secções para ver mais informações.

    Independentemente do tipo de problema com que está a trabalhar, pode experimentar o o assistente de conversões com tecnologia Gemini para encontrar uma solução. Para mais informações, consulte o artigo Use o assistente de conversões do Gemini. Se determinar que o problema é um aviso e não justifica nenhuma ação, pode marcá-lo como resolvido.

    Corrija problemas com objetos suportados pelo editor integrado

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

    1. Encontre o seu problema na vista de árvore da Oracle e, de seguida, selecione o separador Código.
    2. Use o editor de SQL para atualizar o código gerado.O serviço de migração de base de dados não valida a correção do código SQL que adiciona no editor.

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

    Para corrigir problemas encontrados com objetos que não são suportados no editor do espaço de trabalho, execute uma das seguintes ações:

    Atualize objetos com falhas na sua origem
    Para alguns problemas, pode ter de alterar a declaração Oracle diretamente na base de dados de origem. Faça o seguinte:
    1. Atualize o esquema e o código diretamente na base de dados de origem.
    2. Extraia as origens atualizadas para o Database Migration Service.
    3. Converta novamente as origens e verifique se os problemas persistem.
    Faculte mapeamentos adicionais com um ficheiro de mapeamento de conversões

    Pode usar um ficheiro de mapeamento de conversões para fornecer definições precisas sobre como o Database Migration Service deve converter determinados objetos do PostgreSQL. Para usar um ficheiro de mapeamento de conversões, faça o seguinte:

    1. Escreva um ficheiro de mapeamento de conversões.
    2. Adicione o ficheiro de configuração ao espaço de trabalho.
    3. Converta novamente as origens e verifique se os problemas persistem.
    Experimente remover o objeto do separador Fontes
    O
    Database Migration Service permite-lhe converter Para desbloquear o processo de conversão, pode optar por analisar mais detalhadamente o objeto com falhas mais tarde. Remova o objeto do separador Fontes.
  4. Teste o seu esquema para verificar se o Database Migration Service consegue aplicar corretamente o seu código à base de dados de destino.
  5. Se os testes forem bem-sucedidos, recomendamos que use o separador Problemas de conversão para marcar os problemas como Resolvidos. Desta forma, pode filtrar estes problemas das vistas gerais de conversões e retomar mais tarde a partir do ponto em que ficou.

Marque problemas como resolvidos

À medida que revê e corrige problemas de conversão, é recomendável manter um registo dos problemas que já corrigiu (ou determinou que não afetam a migração e não justificam nenhuma ação). Pode usar a funcionalidade Marcar como resolvido para filtrar esses problemas e facilitar a navegação na lista de problemas.

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

  1. Na Google Cloud consola, aceda a Espaços de trabalho de conversão e selecione o seu espaço de trabalho.

    Aceda aos espaços de trabalho de conversão

  2. Use a vista Árvore de origem para selecionar o objeto que tem problemas de conversão.
  3. No separador Problemas de conversão, junto ao problema, clique em Marcar como resolvido. Agora, pode filtrar estes problemas da vista geral das conversões.

    Ecrã de resolução de problemas onde pode marcar problemas de conversão
            como resolvidos para os filtrar no ecrã de vista geral das conversões.
    Figura 3. Ecrã de problemas de conversão onde pode marcar problemas como resolvidos. (clique para ampliar)
    Ecrã de resolução de problemas onde pode marcar problemas de conversão
            como resolvidos para os filtrar no ecrã de vista geral das conversões.

Teste o seu esquema no destino

Antes de aplicar o esquema à base de dados de destino, pode executar primeiro um teste para verificar proativamente possíveis problemas. Para realizar o teste, o Database Migration Service cria uma base de dados temporária. A execução de teste não afeta a instância do Cloud SQL de destino.

  1. Certifique-se de que o utilizador de migração dedicado tem a autorização CREATEDB. Para mais informações, consulte o artigo Crie e configure a instância do Cloud SQL de destino.

  2. Na Google Cloud consola, aceda a Espaços de trabalho de conversão.

    Aceda aos espaços de trabalho de conversão

  3. Clique no nome a apresentar do espaço de trabalho de conversão com o qual quer trabalhar.

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

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

    Aparece o assistente para aplicar o esquema à base de dados de destino.

  5. Na secção Defina o destino, selecione o perfil de associação que aponta para a base de dados de destino.

  6. Clique em Definir e continuar.

  7. Na secção Selecionar objetos e testar aplicação, selecione os esquemas das entidades da base de dados que quer testar para a base de dados de destino.

    Pode usar o botão Filtrar objetos para reduzir o número de objetos apresentados. Consulte o artigo Filtre objetos na vista do esquema de origem.

  8. Clique em Testar aplicação.

    Pode rever o estado da aplicação no separador Cloud SQL para PostgreSQL.

Aplique o esquema ao destino

Quando o esquema que quer usar na base de dados de destino é convertido de acordo com os seus requisitos e mapeamentos, pode aplicar os resultados à base de dados de destino. A aplicação do esquema no destino não altera os dados na base de dados de origem.

  1. Na Google Cloud consola, aceda a Espaços de trabalho de conversão.

    Aceda aos espaços de trabalho de conversão

  2. Clique no nome a apresentar do espaço de trabalho de conversão com o qual quer trabalhar.

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

  3. Clique em Aplicar ao destino > Aplicar.

    Aparece o assistente para aplicar o esquema à base de dados de destino.

  4. Na secção Defina o destino, selecione o perfil de associação que aponta para a base de dados de destino.

  5. Clique em Definir e continuar.

  6. Na secção Reveja os objetos e aplique a conversão ao destino, selecione os esquemas das entidades da base de dados que quer criar na base de dados de destino.

    Pode usar o botão Filtrar objetos para reduzir o número de objetos apresentados. Consulte o artigo Filtre objetos na vista do esquema de origem.

  7. Clique em Aplicar ao destino.

    Pode rever o estado da aplicação no separador Cloud SQL para PostgreSQL.

Crie uma tarefa de migração a partir do editor de conversões

Pode criar uma tarefa de migração que use o seu espaço de trabalho de conversão diretamente a partir da interface do editor de conversões.

  1. Na Google Cloud consola, aceda a Espaços de trabalho de conversão.

    Aceda aos espaços de trabalho de conversão

  2. Clique no nome a apresentar do espaço de trabalho de conversão com o qual quer trabalhar.

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

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

  4. Continue com os passos da tarefa de migração padrão, conforme descrito no artigo Crie uma tarefa de migração.

Filtre objetos na vista do esquema de origem

Os esquemas de bases de dados contêm frequentemente milhares de objetos, o que dificulta a partição do trabalho de conversão. Quando adiciona objetos da captura de ecrã do esquema à vista do esquema de origem, pode usar filtros para limitar o número de objetos apresentados. Os filtros permitem-lhe adicionar objetos de forma mais detalhada e focar-se na conversão de um subconjunto selecionado do seu esquema.

Use a vista filtrada quando adicionar objetos à vista 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. Estado da conversão para filtrar os objetos pelo estado da conversão, como Ação necessária ou Sem problemas.
    4. Melhorado pelo Gemini para filtrar objetos que foram convertidos com a conversão automática do Gemini.

    Pode combinar propriedades de filtro com operadores lógicos.

  3. Introduza a consulta. Por exemplo: type=table.

    Para mais informações sobre a sintaxe de filtragem, consulte o artigo Sintaxe de filtragem suportada.

  4. Selecione os objetos que quer adicionar à vista do esquema de origem.

Sintaxe de filtragem de texto suportada

Pode filtrar objetos por nome com a pesquisa de texto livre básica ou usar uma propriedade type dedicada. Ambas as abordagens suportam a especificação formal da API Google para filtragem, o que significa que pode usar literais com carateres universais, bem como operadores lógicos e de comparação.

Use texto livre para filtrar os objetos por nome. Esta abordagem é sensível a maiúsculas e minúsculas e suporta carateres universais.

Exemplo:

A consulta *JOB* usa carateres universais para pesquisar entidades que contêm a subcadeia de carateres JOB. A vista filtrada devolve algumas tabelas e um procedimento armazenado:

Captura de ecrã de resultados de exemplo para filtrar objetos por nome.
Filtre através da propriedade type

Pode filtrar objetos por todos os tipos padrão suportados no serviço de migração de bases de dados.

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 devolve apenas tabelas presentes no seu esquema:

Captura de ecrã de resultados de exemplo para filtrar objetos pela propriedade de tipo.

Combine condições de filtragem de texto

Pode especificar várias condições combinando-as com operadores lógicos.

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

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

Como resultado, o filtro apresenta todas as tabelas correspondentes:

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