RESTART REPLICAT
Use o RESTART REPLICAT para interromper e inicie um grupo de Replicat. Para confirmar que o processo Replicat foi iniciado, use o comando INFO REPLICAT ou STATUS REPLICAT.
Ponto Inicial Normal
O Replicat pode ser iniciado em seu ponto inicial normal (de checkpoints iniciais ou atuais) ou de uma posição alternativa, especificada pelo usuário, na trilha.
RESTART REPLICAT, sem nenhuma opção, faz com que a Replicat comece a processar em um dos seguintes pontos para manter a integridade de dados:
-
Após um encerramento normal ou não: Na primeira transação não processada na trilha da execução anterior, conforme representado pelo checkpoint de leitura atual.
-
A primeira inicialização após a criação do grupo: No início do arquivo de trilha ativo (
seqno 0,rba 0).
Ponto Inicial Alternativo
As opções SKIPTRANSACTION, ATCSN e AFTERCSN de START REPLICAT fazem com que a Replicação como um todo, ou threads específicos de um Replicat coordenado, comece o processamento em uma transação na trilha que não seja o ponto inicial normal. Use essas opções para:
-
Especificar uma posição de recuperação lógica quando um erro impedir que o Replicat avance na trilha. O Replicat pode ser posicionado para ignorar a(s) transação(ões) inválida(s), com o entendimento de que os dados não serão aplicados ao destino.
-
Ignorar as transações replicadas que causarão erros de registros duplicados e ausentes após um backup ser aplicado ao destino durante uma carga inicial. Essas opções fazem com que o Replicat descarte transações que ocorreram antes do conjunto de alterações mais recentes que foram capturadas no backup. Você pode mapear o valor do identificador serial que corresponde à conclusão do backup para um valor de CSN e depois iniciar o Replicat para começar a aplicar transações a partir do CSN especificado em diante.
Sintaxe
RESTART REPLICAT group_name_wildcard
[SKIPTRANSACTION | {ATCSN csn | AFTERCSN csn}]
[FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS]
[THREADS (threadID[, threadID][, ...][, thread_range[, thread_range][, ...]])]
group_name_wildcard
O nome de um grupo de Replicat ou de um curinga (*) para especificar vários grupos. Por exemplo, T* inicia todos os grupos de Replicação cujos nomes começam com T.
SKIPTRANSACTION
Faz com que o Replicat ignore a primeira transação após sua posição de inicialização esperada na trilha. Todas as operações dessa primeira transação são excluídas.
Se o parâmetro MAXTRANSOPS também estiver sendo usado para esse processo Replicat, é possível que o processo comece a ler o arquivo de trilha de algum lugar no meio de uma transação. Nesse caso, o restante da transação parcial é ignorado e o Replicat retoma o processamento normal no próximo registro de início de transação no arquivo. Os registros ignorados são gravados no arquivo do descarte se o parâmetro DISCARDFILE estiver sendo usado; caso contrário, uma mensagem será gravada para o arquivo do relatório que seja semelhante a:
User requested START SKIPTRANSACTION. The current transaction will be skipped. Transaction ID txid, position Seqno seqno, RBA rba
O SKIPTRANSACTION é válido somente quando a trilha que o Replicat está lendo é parte de uma configuração de sincronização on-line de alterações (com pontos de verificação). Não válido para cargas iniciais de tipo de tarefa (em que SPECIALRUN é usado com ADD REPLICAT).
ATCSN csn |
AFTERCSN csn |
Estabelece um ponto inicial definido pelo usuário em um CSN específico. Quando ATCSN ou AFTERCSN é usado, uma mensagem semelhante a uma das seguintes é gravada no arquivo do relatório:
User requested start at commit sequence number (CSN) csn-string
User requested start after commit sequence number (CSN) csn-string
Informações gerais sobre essas opções:
-
Só é válido quando a trilha que o Replicat está lendo faz parte de uma configuração de sincronização de alteração on-line (com checkpoints). Não válido para cargas iniciais de tipo de tarefa (em que
SPECIALRUNé usado comADD REPLICAT). -
Para suportar o início no CSN ou depois dele, a trilha deverá ser do Oracle GoldenGate versão 10.0.0 ou mais recente, porque o CSN é armazenado no primeiro registro de trilha de cada transação. Se Replicat for iniciado com
AFTERCSNem relação a uma versão anterior da trilha, o Replicat será encerrado e gravará um erro no relatório informando que não há suporte para o formato da trilha.ATCSNFaz com que o Replicat inicie o processamento na transação que tem o CSN especificado. Qualquer transação na trilha que tenha valores de CSN inferiores ao especificado será ignorada.
AFTERCSNFaz com que o Replicat inicie o processamento na transação que ocorreu após aquela com o CSN especificado. Qualquer transação na trilha que tenha valores de CSN inferiores ou iguais ao especificado será ignorada.
csnEspecifica um valor de CSN. Digite o valor do CSN no formato válido para o banco de dados. Consulte Número de Sequência de Commit (CSN) para obter formatos e descrições de CSN. O Replicat será encerrado anormalmente se o formato for inválido e gravará uma mensagem no arquivo de relatório.
Para determinar que o CSN seja fornecido após a conclusão de uma carga inicial, use o identificador de commit no qual o utilitário de carregamento concluiu a carga. Caso contrário, siga as instruções no procedimento de carga inicial para determinar quando iniciar o Replicat.
FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS
Faz com que o Replicat ignore as transações que já processou. Use quando a Extração foi reposicionada para um novo ponto inicial (consulte a opção ATCSN ou AFTERCSN de "START EXTRACT") e você tem certeza de que há transações duplicadas na trilha que podem fazer com que a Replicação seja interrompida. Essa opção exige o uso de uma tabela de checkpoints. Se o banco de dados for Oracle, essa opção só será válida para o Replicat no modo não integrado. No caso do modo Integrado e da nova geração automática do arquivo de trilha de destino, o modo Integrado tratará das transações duplicadas de forma transparente. O padrão é FILTERDUPTRANSACTIONS.
THREADS thread_list
Válido para SKIPTRANSACTION, ATCSN e AFTERCSN quando a Replicação estiver no modo coordenado. Não é válido para RESTART REPLICAT sem essas opções. Inicia o(s) thread(s) do Replicat especificado(s) no local determinado.
thread_list
Uma lista de faixas delimitadas por vírgulas no formato de threadIDlow-threadIDhigh, threadIDlow-threadIDhigh.
!
(Ponto de exclamação) Reinicia o Replicat imediatamente. A transação foi interrompida.
Exemplos
RESTART REPLICAT finance
A opção a seguir inicia o Replicat em um CSN específico.
RESTART REPLICAT finance, ATCSN 6488359
O exemplo a seguir faz com que os threads 4 e 5 de um Replicat coordenado ignorem a primeira transação após seu último checkpoint quando o Replicat é iniciado. Se esse fosse um Replicat coordenado de 10 threads, os threads 0-3 e 6-10 seriam todos iniciados no ponto inicial normal, o do último checkpoint.
RESTART REPLICAT fin SKIPTRANSACTION THREADS (4-5)
O exemplo a seguir faz com que os threads 1-3 de um Replicat coordenado sejam iniciados no CSN 6488359, os threads 9-10 após o CSN 6488360 e os threads 7 e 8 ignorem a primeira transação após o último checkpoint.
RESTART REPLICAT fin ATCSN 6488359 THREADS (1-3), AFTERCSN 6488360 THREADS (9-10), SKIPTRANSACTION THREADS (7,8)