Instanciação precisa para SQL Server

A partir do Oracle GoldenGate 23.8, a instanciação precisa pode ser orquestrada usando a carga inicial Extract para SQL Server. O método de instanciação preciso permite a carga inicial de dados de um banco de dados de origem para um banco de dados de destino, enquanto o banco de dados de origem permanece on-line para atualizações de aplicativos. Esse método garante o posicionamento preciso dos processos de captura e entrega de dados de alteração sem ter dados duplicados no banco de dados de destino e sem a necessidade de usar HANDLECOLLISIONS no processo Replicat.

A instanciação precisa para o Oracle GoldenGate for SQL Server requer a definição do banco de dados SQL Server de origem para permitir o isolamento de snapshot e usa o parâmetro INITIALLOADOPTIONS USESNAPSHOT dentro do Extract de carga inicial. Este método pode ser usado para instanciar qualquer banco de dados de destino suportado de qualquer banco de dados de origem do SQL Server suportado.

Veja a seguir um método de instanciação preciso de amostra usando um dump de esquema da instância de origem e, em seguida, carregado na instância de destino, seguido pela configuração do Oracle GoldenGate para replicação de dados de alteração:

  1. ADD TRANDATA para as tabelas do banco de dados de origem.

    DBLOGIN USERIDALIAS src_alias
    ADD TRANDATA dbo.*
  2. Após a conclusão de TRANDATA, verifique se o banco de dados está ativado para isolamento de snapshot e, caso contrário, ative-o manualmente.

    ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION ON;
  3. Para Arquitetura de Microsserviços, adicione uma tarefa Limpar Dados CDC no WebUI. Consulte Limpar Dados de Tabela Intermediária de CDC e Processo de Limpeza para saber mais.

  4. Crie um Extract de Carga Inicial usando o parâmetro INITIALLOADOPTIONS USESNAPSHOT.

    ADD EXTRACT einit, SOURCEISTABLE
    --Sample Initial Load Extract Parameter File:
        EXTRACT einit
        USERIDALIAS tpcc_source2017
        INITIALLOADOPTIONS USESNAPSHOT
        EXTFILE ei, MEGABYTES 500, PURGE
        TABLE dbo.*;
  5. Inicie a Extração de Carga Inicial.

    START EXTRACT einit
  6. Quando o Extract de Carga Inicial for concluído e interrompido, exiba o arquivo de relatório, procurando uma mensagem semelhante como abaixo, que será usada ao criar o Extract CDC.

    VIEW REPORT einit
    INFO    OGG-05381  A consistent point is established in database 'tpcc_source' at LSN 0x00000488:00002a98:0002.
    
        OGG-05379  Create or position a Change Data Capture Extract to LSN 0x00000488:00002a98:0002. Example: ADD EXTRACT <extract-name> TRANLOG LSN
    
        0x00000488:00002a98:0002 or ALTER EXTRACT <extract-name> LSN 0x00000488:00002a98:0002
  7. A opção de banco de dados de origem para permitir o isolamento de snapshot agora pode ser definida como OFF, se ela tiver sido ativada manualmente por etapa 2.

    ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION OFF;
  8. Criar uma Extração CDC utilizando a saída LSN do arquivo de relatório da Extração do carregamento inicial.

    ADD EXTRACT extcdc TRANLOG LSN 0x00000488:00002a98:0002
    ADD EXTTRAIL ea, EXTRACT extcdc
  9. Criar e iniciar um Replicat de carga inicial que lê a partir da trilha criada pelo Extract de carga inicial.

    ADD REPLICAT rinit, PARALLEL, EXTTRAIL ei, CHECKPOINTTABLE ggadmin.ggcheck
    START rinit
    --Sample Initial Load Replicat Parameter file
        REPLICAT rinit
        USERIDALIAS tgt_alias
        BATCHSQL
        SPLIT_TRANS_RECS 100000
        MAP dbo.*, TARGET dbo.*;
  10. Quando o processo Replicat de carga inicial terminar, crie e inicie um processo Replicat CDC que leia a trilha criada pelo processo Extract CDC.

    ADD REPLICAT repcd, PARALLEL, EXTTRAIL ea, CHECKPOINTTABLE ggadmin.ggcheck
    START EXTRACT extcdc
    START REPLICAT repcd