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:
-
ADD TRANDATApara as tabelas do banco de dados de origem.DBLOGIN USERIDALIAS src_aliasADD TRANDATA dbo.* -
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; -
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.
-
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.*; -
Inicie a Extração de Carga Inicial.
START EXTRACT einit -
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 einitINFO 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 -
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; -
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:0002ADD EXTTRAIL ea, EXTRACT extcdc -
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.ggcheckSTART rinit--Sample Initial Load Replicat Parameter file REPLICAT rinit USERIDALIAS tgt_alias BATCHSQL SPLIT_TRANS_RECS 100000 MAP dbo.*, TARGET dbo.*; -
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.ggcheckSTART EXTRACT extcdcSTART REPLICAT repcd