How Parallel Statement Queuing works?

Quando o parâmetro PARALLEL_DEGREE_POLICY é definido como AUTO, o Oracle Database coloca em fila instruções SQL que requerem execução paralela se os processos de servidor paralelo necessários não estiverem disponíveis. Depois que os recursos necessários se tornam disponíveis, a instrução SQL é dequeued e permitido executar. A ordem de dequeue padrão é uma primeira fila de entrada e saída, baseada no tempo em que uma instrução foi emitida.

O seguinte é um resumo do processamento de instruções paralelas.

1) Uma instrução SQL é emitida.

2) A instrução é analisada e o DOP é automaticamente determinado.

3) Recursos paralelos disponíveis são verificados.

A) Se houver suficientes recursos paralelos e não houver declarações à frente na fila aguardando os recursos, a instrução SQL será executada.

B) Se não houver servidores paralelos suficientes, a instrução SQL será enfileirada com base em condições especificadas e desanexada da frente da fila quando as condições especificadas forem atendidas.

Estive com um alerta muito alto no Event: resmgr:pq queued que esta nos 98%, durante esta semana e já havia tido em uma outra maquina alguns meses atrás. Solicitei aos DBA’S de infra para referem os parâmetros do parallel.

Auto DOP é calculado como (parallel_threads_per_cpu × parallel_server_instances × cpu_count ).

O valor default parallel_server_target é definido como 4 vezes o default DOP.

((4 × CPU_count) × parallel_threads_per_cpu) × active_instances = PARALLEL_SERVER_TARGET

Luiz Marinho / CRIVEM SOLUÇÕES: Performance Diagnostics & Tuning DBA ORACLE / SQL SERVER

Posts Recentes