Migrar da Arquitetura Clássica para a de Microsserviços Usando o Utilitário de Migração

O Oracle GoldenGate Classic to Microservices Migration Utility é usado para migrar de uma instalação da Arquitetura Clássica do Oracle GoldenGate para uma implantação de Microsserviços. Esse utilitário é um utilitário interativo que migra Extracts, Replicats de uma instalação de Arquitetura Clássica para a implantação de Microsserviços e converte Pump Extracts em um caminho de distribuição. Ele também migra arquivos de trilha, pontos de verificação e outros artefatos associados.

O Utilitário de Migração está disponível no portal MOS (My Oracle Support) como Patch 37274898.

As atualizações no patch são liberadas quando necessário. A descrição do patch inclui detalhes com o número de build mais recente.

Pré-requisitos para Usar o Utilitário de Migração

Estes são os pré-requisitos para usar o Utilitário de Migração:

Restrições do Utilitário de Migração

O utilitário de migração não pode migrar processos que tenham as seguintes configurações:

Executar o Utilitário de Migração

Certifique-se de ter concluído as etapas mencionadas em Pré-requisitos para Usar o Utilitário de Migração antes de iniciar as tarefas nesta seção.

Use as seguintes etapas no prompt de comando para executar o Utilitário de Migração:

  1. Execute o seguinte comando para iniciar o Utilitário de Migração:

    java -jar ogg-migration-package-23.4.0.0.0.jar -classicHome /scratch/ogg/home -dryrun
    java -jar ogg-migration-package-23.4.0.0.0.jar -debug
    java -jar ogg-migration-package-23.4.0.0.0.jar -help

    As opções disponíveis com este comando são:

    • -classicHome path: (Obrigatório) Deve apontar para o local do diretório de software do Oracle GoldenGate Classic.

    • -dryrun: (Opcional) Indica que a migração é simulada (Faça um Dry Run) para verificar possíveis problemas.

    • -debug: Isso é opcional, mas é recomendável que você use essa opção com o utilitário. Ativa o log e o diagnóstico no nível de depuração. Ele fornece dados de log mais detalhados e produzirá um arquivo zip com artefatos do clássico e do MA quando uma migração falhar.

    • -skipPumpURI: Especifica o Aceitar URI Padrão na Migração de Bomba

    • -dbtype: Especifica o nome do banco de dados. Os valores válidos são 'ORACLE', 'MYSQL', 'MSSQL', 'POSTGRESQL', 'SYBASE', 'DB2400', 'DB2ZOS', 'DB2LUW', 'TERADATA', 'TIMESTEN'

    • -help: Mostra o uso.

  2. O utilitário solicita as credenciais do usuário para o Gerenciador de Serviços da implantação de MA:

    ***************************************************************************
    
    **      Oracle GoldenGate Classic to Microservices Migration Utility              **
    
    **        Version 23.4.0.0.0 Build 66 at Fri Jan 22 17:24:41 UTC 2024             **
    
    **  Copyright (C) 1995, 2024, Oracle and/or its affiliates. All rights reserved.  **
    
    **                                                                             **
    
    **         Operating system character set identified as UTF-8.                    **
    
    *******************************************************************************
    
    Command Entered: -classicHome /ogg/payroll -debug
    Log File for this session is /ogg/payroll/./Migration081321105419.log. Debug Mode is Enabled.
    Enter Service Manager Credentials: User Id: dba
    Password:
  3. O utilitário verifica se há um Gerenciador de Serviços no host e oferece uma opção de implantações para migrar se houver mais de uma implantação e depois solicitar a continuação.

    Scanning for Microservices Deployments...
    Using Deployment payroll [cf4c7c93-3a1c-4cbc-b1ab-bc942bab7645]
    The following processes will be migrated to deployment payroll:
    Extracts: EXTE
    Replicats: REPW
    Pumps: DPE
    Do you wish to continue? (yes/no):>

    Informe yes para continuar.

  4. O utilitário migrará as credenciais do banco de dados da implantação Clássica para a implantação de Microsserviços de destino e, em seguida, copiará todos os arquivos de trilha na implantação Clássica e migrará todos os processos Extracts e Replicats.

    Migrating Credentials from /ogg/payroll/./dircrd
    Migrating Credentials for Domain Payroll with an alias of ogg.
    Migrating Credentials for Domain Payroll with an alias of user.
    
    Copying Trail Files from /ogg/payroll/dirdat to /ogg/Microservices/payroll/var/lib/data.
    235 trail files copied.
    
    Migrating EXTRACT EXTE to http://10.20.0.221:9901.
    Checkpoint File(s) Copied and Converted Successfully.
    Parameter File EXTE.prm Saved Successfully.
    Migration of Extract EXTE Completed Successfully.
    
    Migrating REPLICAT REPW to http://10.20.0.221:9901.
    Parameter File REPW.prm Saved Successfully.
    Checkpoint File(s) Copied and Converted Successfully.
    Migration of Replicat REPW Completed Successfully.
  5. Em seguida, o utilitário migra todos os processos Extract Pump e solicita o URL do Receiver Service de destino para cada um. Para aceitar o valor padrão, pressione Enter.

    Se você estiver usando um destino diferente, informe o URL. Por padrão, o utilitário assume que o pump clássico está sendo enviado para outro processo clássico do servidor de implantação. O URL padrão permite que o Serviço de Distribuição seja vinculado ao alvo clássico. Se você também estiver planejando migrar a implantação do Clássico de destino posteriormente, precisará modificar o Caminho de Distribuição recém-criado ao mesmo tempo. Consulte Diferentes Casos de Uso para Migração para obter detalhes.

    Observação: As bombas de loopback são comuns em um ambiente de teste em que um pump Clássico é enviado para o mesmo Gerente na mesma implantação. Esta bomba de loopback é roteada automaticamente para o Serviço do Receptor na implantação de MA migrada.

        Migrating PUMP PMPW2E to http://
    10.20.0.221:9902.
    
        Use Default Pump Target URI of ogg://ushost1:9903/services/v2/targets?trail=./bb?
        Press Enter to Accept or type Alternate URI:>
        Creating Distribution Path for Pump PMPW2E.
        Distribution Path Created Successfully.
        Setting trail sequence to 235 with an RBA of 1319472691.
    
        Migration of Pump PMPW2E Completed Successfully.
    
        Migrating Manager tasks to http://10.20.0.221:9901.
        Creating Task for Parameter PurgeTrail-aa. Task Created Successfully.
        Creating Task for Parameter Purge-Extract. Task Created Successfully.
        2 Tasks were migrated, 2 Successfully, 0 with errors.
    
        Migrating Lag Report.
        Creating Task for Parameter LagReport. Task Created Successfully.
        Migration pf Manager Tasks Completed Successfully.
  6. Em seguida, o utilitário pergunta se deve migrar parâmetros no arquivo de configuração GLOBALS e relatar quaisquer problemas encontrados.

    Do you wish to migrate your GLOBALS parameters? (yes/no):> y
    GLOBAL parameters successfully migrated, 3 parameters merged.
  7. O utilitário solicita a cópia de entradas de wallet existentes se elas existirem e emite uma advertência se existirem entradas na wallet de destino. Essas entradas da wallet de destino serão substituídas. Após a conclusão desta tarefa, o utilitário é encerrado.

    Your Classic Deployment has existing wallet entries.
    Do you wish to copy them? (yes/no):> y
    
    Copying Oracle Wallet Entries.
    
    WARNING: Target deployment has existing wallet entries and will be overwritten!
    
    Do you wish to continue? (yes/no):> y
    Wallet entries successfully copied.
    
    Migration Processing Complete, 3 processes were migrated successfully.

    Se a migração tiver sido bem-sucedida, ela renomeará os arquivos de checkpoint no diretório Clássico dirchk anexando .migrated ao nome. Isso impedirá que os processos de implantação Clássicos sejam iniciados inadvertidamente.

    Se o utilitário encontrar um problema e não conseguir concluir o processo de migração, ele executará um rollback de todo o trabalho que executou e restaurará a implantação Clássica para seu estado original. Ele produzirá um arquivo zip de diagnóstico contendo o arquivo de log, classic configuration e target configuration para ajudar a diagnosticar o problema.

Diferentes Casos de Uso para Migração

As implantações da Arquitetura Clássica do Oracle GoldenGate geralmente não são independentes. As implantações geralmente enviam dados de trilha para outras implantações usando o processo Pump que tem topologias interconectadas muito complexas. Quando uma implantação é migrada para Microsserviços, ela ainda pode estar enviando dados de trilha para outra implantação Clássica ou de Microsserviços. Um dos principais recursos da Arquitetura de Microsserviços é a capacidade de proteger a implantação usando protocolos de segurança estabelecidos, como TLS/SSL e soquetes da Web protegidos.

Ao migrar implementações, uma abordagem bem pensada deve ser usada. Geralmente, é preferível que as implantações de origem e destino sejam migradas individualmente e não todas de uma só vez. O Utilitário de Migração permite migrar implantações uma a uma. Como a implantação de origem usa um protocolo não seguro para se comunicar com o Classic Server/Collector ou o Receiver Service, o Caminho de Distribuição migrado usará o protocolo ogg legado no caminho. Embora isso seja funcional, não aproveita os recursos de segurança da Arquitetura de Microsserviços na criação de uma implantação totalmente segura.

É recomendável substituir o Caminho de Distribuição gerado pelo Utilitário de Migração por um que use os protocolos wss ou ws após todas as implantações terem sido migradas para a Arquitetura de Microsserviços ou sempre que as implantações de origem e destino tiverem sido migradas.

Para permitir a migração em fases de implantações e processos para a Arquitetura de Microsserviços, as implantações da Arquitetura Clássica de origem e de destino podem ser migradas de forma independente.

A seguir, são listados diferentes casos de uso e o protocolo de Distribuição associado usado ao configurar o caminho de distribuição.

Origem Destino Protocolo de distribuição Descrição

Arquitetura do hub (sem trilhas de distribuição)

Migrar o Classic para Microsserviços

Não Aplicável Não Aplicável Não Aplicável
Migrar o Classic para Microsserviços Implantação Clássica Protocolo ogg para direcionar a implantação clássica -
Migrar o Classic para Microsserviços Implantação de Microsserviços protocolo ogg Opcionalmente, elimine e recrie DISTPATH para usar o protocolo ws ou wss (se o destino for protegido com um proxy reverso)
Implantação clássica Migrar o Classic para Microsserviços Bomba para direcionar o Serviço do Receptor

A bomba de origem deve ser modificada:

Porta de serviço do receptor e trilha remota

Implantação de microsserviços Migre para o Classic para o Microservices protocolo ogg Elimine e recrie DISTPATH e use o protocolo ws ou wss (se o destino for protegido com um proxy reverso)

Migrando Origem do Clássico para Microsserviços com Destino como Microsserviços

Neste caso de uso, você pode eliminar e recriar o Caminho de Distribuição para usar o protocolo ws ou wss (se o destino for protegido com um proxy reverso) especificando o número de sequência (seqno) e os valores de RBA. Isso é opcional, pois a implantação de destino está usando a Arquitetura de Microsserviços.

Execute o Admin Client e conecte-se à implantação de origem para obter os valores SEQNO e RBA:

OGG (http://north:9001)> INFO DISTPATH dpe, DETAIL
Path Name: dpe Status: running
Source: trail://north:9002/services/v2/sources?trail=ea
Target: ogg://south:9003/services/v2/targets?trail=ra
Authentication Method: USERIDALIAS ggsca domain OracleGoldenGate
[...]
Checkpoints:
Input Checkpoint:
  Current:
     Name: ea
     Sequence: 14
     Offset: 2579
     Path: /u01/ogg_deployments/depl_north/var/lib/data/
[...]

Converta o caminho de distribuição para o protocolo ws ou wss recriando e reposicionando o caminho de Distribuição que foi criado pelo Utilitário de Migração:

OGG (http://south:9001)> DELETE DISTPATH dpe, DETAIL

## If using Secure Web Socket Protocol (wss)
OGG (http://south:9001)> ADD DISTPATH dpm
                         SOURCE trail://src_host:9002/services/v2/sources?trail=ea
                         TARGET wss://trg_host:9003/services/v2/targets?trail=ra
                         AUTHENTICATION CERTIFICATE default
## If using Web Socket Protocol (ws)
OGG (http://south:9001)> ADD DISTPATH dpm
                         SOURCE trail://src_host:9002/services/v2/sources?trail=ea
                         TARGET ws://trg_host:9003/services/v2/targets?trail=ra
                         AUTHENTICATION USERIDALIAS ggsca DOMAIN OracleGoldenGate
OGG (http://south:9001)> ALTER DISTPATH dpm, BEGIN SEQNO 14, RBA 2579
OGG (http://south:9001)> START DISTPATH dpm

Migre o Destino do Clássico para Microsserviços em que a Origem seja Microsserviços

Nesse caso de uso, é obrigatório eliminar e recriar o Caminho de Distribuição para usar o protocolo ws ou wss, se o destino estiver protegido com um proxy reverso. Siga as etapas em Migrando Origem do Classic para Microsserviços com Destino como Microsserviços para eliminar e recriar o Caminho de Distribuição na implantação de destino.

Migrando o Destino do Clássico para Microsserviços com Origem como Clássica

Ao migrar a implantação de destino para a Arquitetura de Microsserviços enquanto a implantação de origem estiver na Arquitetura Clássica, você deverá executar as seguintes etapas adicionais:

Conforme mostrado no exemplo a seguir, o número da porta do gerenciador de destino foi alterado para o número de porta do Serviço do Receptor 9903 e o caminho do arquivo RMTTRAIL foi modificado no arquivo de parâmetros da Bomba de Extração.

GGSCI> STOP EXTRACT PMPW2E
GGSCI> EDIT PARAMS PMPW2E

A seguir está o arquivo de parâmetros da Bomba de Extração:

EXTRACT PMPW2E
USERIDALIAS ggeast,
target uri: host1:9903/services/v2/targets?trail=./bb? ENCRYPT AES192,
RMTTRAIL ./rt SEQUENCE hr.employees_seq; TABLE hr.*;

Reinicie a bomba de extração após concluir as modificações:

GGSCI> START EXTRACT PMPW2E

Observação: nenhum arquivo de trilha é entregue ao destino.

Antes do início da migração, interrompa todos os processos na origem normalmente.