MAXTRANSOPS

Válido Para

Replicat (Não suportado no modo Replicat integrado e paralelo)

Descrição

Use o parâmetro MAXTRANSOPS para dividir transações de origem grandes em transações menores no sistema de destino. Esse parâmetro pode ser usado quando o banco de dados de destino não está configurado para acomodar transações grandes. Por exemplo, se os segmentos de rollback do Oracle não forem grandes o suficiente no destino para reproduzir uma transação de origem que executa um milhão de exclusões, você poderá especificar MAXTRANSOPS 10000, o que força o Replicat a emitir um commit após cada grupo de 10.000 exclusões.

Usar MAXTRANSOPS é alterar os limites transacionais impostos pelo aplicativo de origem, mesmo que o Replicat aplique as operações na ordem correta. Isso poderá causar erros se o processo Extract falhar durante a transação. O processo Extract reescreve a transação no fim da trilha, em vez de substituir a antiga. Como a trilha é sequencial, o Replicat começa a processar a transação antiga, precisa fazer rollback dela quando recebe o marcador de recuperação e a nova transação e, em seguida, começa a aplicar a nova transação. Se MAXTRANSOPS fez com que o Replicat dividisse a transação original em várias transações menores, o Replicat só poderá fazer rollback da parte que não foi submetida a commit para o destino. Quando o Replicat processar novamente as operações confirmadas, elas resultarão em erros de linha duplicada ou erros de linha ausente, dependendo do tipo de operação SQL. O mínimo é 1. Observação: ao diagnosticar e solucionar erros do Replicat, o Suporte Técnico da Oracle pode solicitar que GROUPTRANSOPS seja definido como 1 e MAXTRANSOPS seja definido como 1. Esta é apenas uma configuração temporária para fins de solução de problemas e não deve ser usada permanentemente na produção, ou causará erros de integridade de dados.

Padrão

10.000.000

Sintaxe

MAXTRANSOPS <number>

<number>

O número de operações a serem divididas em um único grupo de transações.

Exemplo

MAXTRANSOPS 10000