Considerações Operacionais do Método de Captura CDC

Saiba mais sobre as opções, recursos e configurações recomendadas do SQL Server CDC Capture.

Ajustando a Captura de Dados de Alteração do SQL Server

As informações a seguir são úteis para melhorar o desempenho de captura do Extract.

Controle de Versão do Objeto CDC do Oracle GoldenGate

O Oracle GoldenGate fornece um subsistema de rastreamento de versão para rastrear os objetos CDC criados pelo Oracle GoldenGate ao ativar o log complementar. Estes objetos são:

Parâmetros de Extração Suportados e Não Suportados para Captura de Dados de Alteração do SQL Server

Saiba mais sobre os parâmetros usados com o CDC Extract. A tabela abaixo lista os parâmetros suportados e não suportados.

Parâmetros Suportados Parâmetros Não Suportados
TRANLOGOPTIONS TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT/NOMANAGESECONDARYTRUNCATIONPOINT/ACTIVESECONDARYTRUNCATIONPOINT
ALWAYSONREADONLYROUTING -
TRANLOGOPTIONS LOB_CHUNK_SIZE -
TRANLOGOPTIONS MANAGECDCCLEANUP/NOMANAGECDCCLEANUPTRANLOGOPTIONS -
TRANLOGOPTIONS QUERYTIMEOUT -
TRANLOGOPTIONS TRANCOUNT -

TRANLOGOPTIONS LOB_CHUNK_SIZE

O parâmetro Extract LOB_CHUNK_SIZE é adicionado para o método de Captura CDC para suportar objetos grandes. Se você tiver grandes tamanhos de dados de LOB, poderá ajustar o LOB_CHUNK_SIZE do padrão de 4000 bytes para um valor maior de até 65535 bytes, para que o tamanho da extração seja aumentado, reduzindo os percursos necessários para extrair todo o LOB.

Exemplo: TRANLOGOPTIONS LOB_CHUNK_SIZE 8000

TRANLOGOPTIONS MANAGECDCCLEANUP/NOMANAGECDCCLEANUP

O parâmetro Extract MANAGECDCCLEANUP/NOMANAGECDCCLEANUP é usado pelo método CDC Capture para instruir o Extract sobre a manutenção ou não de dados de checkpoint de recuperação no job de Limpeza do CDC do Oracle GoldenGate. O checkpoint de recuperação é mantido, mas a expurgação da(s) tabela(s) ct não ocorrerá se o job de limpeza CDC do SQL Server também não estiver ativado. É necessário para expurgação.

O valor padrão é MANAGECDCCLEANUP e não precisa ser listado explicitamente no processo Extract. No entanto, é necessário criar o job de Limpeza do CDC do Oracle GoldenGate antes de iniciar o Extract. O MANAGECDCCLEANUP deve ser usado para todos os ambientes de produção, em que o NOMANAGECDCCLEANUP pode ser usado para implementações temporárias e de teste, conforme necessário.

Exemplo: TRANLOGOPTIONS MANAGECDCCLEANUP

OPÇÕES DE TRANLOG EXCLUIR USUÁRIO/EXCLUDETRANS

O job Captura CDC do SQL Server não captura informações de usuário ou nomes de transação associados a uma transação e, como essas informações não são registradas nas tabelas intermediárias CDC, o Extract não tem nenhum método de excluir DML de um usuário ou DML específico de um nome de transação específico. Portanto, os parâmetros EXCLUDEUSER e EXCLUDETRANS não são válidos para o processo de Captura CDC.

TRANLOGOPTIONS MANAGESPONTO DE TRUNCAMENTO SECUNDÁRIO/NOMANAGESPONTO DE TRUNCAMENTO SECUNDÁRIO/ACTIVESPONTO DE TRUNCAMENTO SECUNDÁRIO

O job Captura de Dados de Alteração do SQL Server é o único processo que captura dados do log de transações ao usar o método Captura de CDC do Oracle GoldenGate. O gerenciamento de ponto de truncamento secundário não é tratado pelo Extract e, para o Extract de Captura de Dados de Alteração, esses parâmetros não são válidos.

TRANLOGOPTIONS ALWAYSONREADONLYROUTING

O parâmetro ALWAYSONREADONLYROUTING permite que o Extract do SQL Server roteie seu processamento somente leitura para um secundário de intenção de leitura disponível quando conectado a um listener de grupo de disponibilidade Always On.

TEMPO LIMITE DE CONSULTA DE OPÇÕES DE LOG

Especifica por quanto tempo as consultas ao SQL Server aguardarão os resultados antes de reportar uma mensagem de erro de tempo limite. Esta opção usa um valor inteiro para representar o número de segundos. O valor default do timeout de consulta é 300 segundos (5 minutos). O valor mínimo é 0 segundos (tempo limite infinito). O máximo é 2147483645 segundos.

CONTAGEM DE TRANSAÇÕES DE OPÇÕES DE TRANLOG

Permite o ajuste do número de transações processadas por cada chamada pelo Extract para extrair dados das tabelas intermediárias de captura de dados de alteração do SQL Server. Com base na sua carga de trabalho de transação, ajustar esse valor pode melhorar a taxa de transferência de captura, embora nem todas as cargas de trabalho sejam impactadas positivamente. O valor mínimo é 1, o máximo é 100 e o padrão é 10.

Detalhes do Processo de Limpeza do CDC do Oracle GoldenGate

A tarefa Expurgar Dados de Alteração do Oracle GoldenGate é obrigatória para um Extract CDC por padrão, uma vez que o Extract assume como padrão TRANLOGOPTIONS MANAGECDCCLEANUP.

Deve haver apenas uma tarefa de expurgação para cada banco de dados ativado para o CDC Capture, e você deve criar a tarefa usando as etapas mencionadas na seção Preparar o Banco de Dados para o Oracle GoldenGate deste documento.

Modificando a Tarefa Expurgar Dados de Alteração do Oracle GoldenGate

A programação de frequência da tarefa de expurgação padrão e o período de retenção de dados da tarefa Expurgar Dados de Alteração do Oracle GoldenGate devem ser executados a cada 10 minutos, com uma política de retenção de dados de 3 dias ou 1 hora, dependendo da versão do Oracle GoldenGate instalada.

Para requisitos específicos do cliente, pode ser necessário ajustar o período de retenção (opção Manter Regra) e a programação de runtime da tarefa (opção Frequência de Expurgação).

A opção Manter Regra determina, em horas ou dias, a quantidade de dados de preparação CDC a serem mantidos no banco de dados de origem. Dependendo da versão do Oracle GoldenGate instalada, os valores padrão são 3 dias ou 1 hora. Períodos de retenção de dados CDC mais baixos reduzem a quantidade de dados de tabela intermediária CDC armazenados no banco de dados, mas limitam a capacidade de um usuário reposicionar o Extract para um tempo anterior aos dados existentes nas tabelas de tabela intermediária. Normalmente, não haveria necessidade de reposicionar um Extract existente de volta para um ponto anterior no tempo, portanto, é recomendável usar a definição padrão mais recente de 1 hora, a menos que haja um caso específico que exija que mais dados de preparação permaneçam no banco de dados. Observe que, embora você altere esse valor de um período de retenção mais alto para um período de retenção muito curto, na próxima vez que a programação da tarefa for executada, ela poderá consumir muito espaço no log de transações e sobrecarga do sistema. Portanto, é recomendável diminuir lentamente o valor Keep Rule ao longo do tempo, até atingir o valor final desejado.

A Frequência de Expurgação representa a frequência com que a tarefa é executada, com um padrão a cada 10 minutos. É recomendável manter o valor padrão, a menos que o custo indireto da tarefa de expurgação esteja afetando o desempenho do banco de dados durante períodos de alta atividade do usuário.

Para modificar uma tarefa Expurgar Dados de Alteração existente, navegue até a Configuração no menu à esquerda do Serviço de Administração para abrir a página Configuração. 1. Clique em Tarefas na página Configuração para abrir a página Tarefas.

  1. Clique em Expurgar Dados de Alteração na página Tarefas.

  2. Clique no ícone Alterar Tarefa ao lado de uma tarefa existente.

  3. Modifique os valores das opções Manter Regra e Frequência de Limpeza conforme necessário.

  4. Clique em Enviar para salvar as alterações.

Excluindo a Tarefa de Dados de Alteração de Expurgação do Oracle GoldenGate

A exclusão de uma tarefa Limpar Dados de Alteração de um banco de dados só deverá ser feita se não houver Extrações configuradas para captura no banco de dados específico.

Para excluir uma tarefa Expurgar Dados de Alteração existente, navegue até a opção Configuração no menu à esquerda do Serviço de Administração para abrir a página Configuração. 1. Clique em Tarefas na página Configuração para abrir a página Tarefas.

  1. Clique em Expurgar Dados de Alteração na página Tarefas.

  2. Clique no ícone Excluir Tarefa ao lado da tarefa a ser removida.

Atualizando da Extração Clássica para uma Extração CDC

Se você planeja mudar do uso de um Extract Clássico do Oracle GoldenGate 12c (12.3.0.1) ou anterior para um Extract CDC do Oracle GoldenGate 26ai, remova o log complementar que foi implementado usando o método de instalação do Extract Clássico, e reative o registro em log complementar usando os binários de instalação do Extract CDC, pois as chamadas para ativar o TRANDATA são diferentes entre as duas versões, e a implementação do TRANDATA para Extract Clássico não é suportada pelo Extract CDC.

Siga estas diretrizes gerais para remover e reativar o registro em log complementar. Uma consideração e um planejamento especiais devem ser envolvidos ao migrar do Classic para o CDC Extract em um sistema de produção. As informações fornecidas aqui não abrangem todos os requisitos e são oferecidas apenas como requisitos gerais em relação ao registro suplementar:

  1. Certifique-se de que o Extract Clássico tenha processado todos os dados restantes nos logs e possa ser interrompido normalmente.

  2. Execute um dos seguintes procedimentos, dependendo de como o Extract estava sendo executado em relação a outros componentes de replicação ou CDC:

    • Se o Extract não estivesse em execução simultaneamente com a replicação transacional do SQL Server ou uma configuração do CDC não Oracle no mesmo banco de dados, abra uma sessão de consulta no Management Studio e emita a instrução a seguir no banco de dados de origem para desativar e excluir qualquer CDC ou componentes de replicação e para limpar o ponto de truncamento secundário.

      EXEC sys.sp_cdc_disable_db

    • Se o Extract estiver executando concomitantemente com replicação transacional do SQL Server ou uma configuração de CDC não Oracle no mesmo banco de dados, execute o Admin Client na pasta de instalação do Extract Clássico, faça log-in no banco de dados de origem com o DBLOGIN e, em seguida, emita o comando a seguir para cada tabela que estiver na configuração do Extract. Você pode usar um caractere curinga para especificar vários nomes de tabela

      DELETE TRANDATA owner.table

      DELETE TRANDATA owner.*

  3. Exclua quaisquer entradas da tabela de integridade se uma tiver sido instalada.

    DELETE HEARTBEATTABLE

  4. Usando os binários de instalação do Extract CDC do Oracle GoldenGate, siga as etapas listadas em Preparar o Banco de Dados para o Oracle GoldenGate para reativar o registro em log complementar e outros componentes necessários e adicionar novamente a tabela de integridade.