Informações da Lista de Executáveis
Ao coletar informações da unidade de trabalho, você tem a opção de também coletar uma lista dos IDs executável de instruções que são executadas como parte de cada unidade de trabalho
- Use a opção EXECUTABLE LIST para a cláusula COLLECT UNIT OF WORK DATA da instrução CREATE WORKLOAD ou ALTER WORKLOAD) PARA COLETAR INFORMAÇÕES PARA CARGAS DE TRABALHO ESPECÍFICAS As informações para as unidades de trabalho que são executadas sob a carga de trabalho identificada na instrução, incluindo IDs executáveis, são enviadas para os monitores de eventos da unidade de trabalho ativa (UOW).
- Use parâmetros de configuração para ter informações sobre todas as unidades de trabalho que são executadas no servidor de dados, incluindo informações executáveis, enviadas para monitores de eventos de unidade de trabalho ativos. Para coletar informações de ID executável, configure o parâmetro de configuração mon_uow_data como BASEe configure o parâmetro de configuração mon_uow_execlist como ON.
- Nível da unidade de trabalho
- tamanho_da_lista_de_executáveis
- O número de entradas que estão presentes na listagem de IDs executáveis para uma determinada unidade de trabalho..
- lista_de_executáveis_truncada
- Um valor YES ou NO indicando se a lista está truncada. A lista pode ser truncada se não houver memória suficiente disponível para armazenar toda a lista executável durante o processamento
- Lista de IDs Executáveis
- executable_id (executable_id-Elemento de monitor do ID Executável)
- Um token binário opaco gerado no servidor de dados que identifica exclusivamente a seção de instrução SQL que foi executada.
- num_execuções (num_execuções-Elemento de monitor de execuções de instrução)
- O número de vezes que uma instrução SQL foi executada.
- rows_read (rows_read-Elemento de monitor de leitura de linhas)
- O número de linhas lidas da tabela.
- total_cpu_time (total_cpu_time-Elemento de monitor de tempo total de CPU)
- A quantidade total de tempo de CPU usado enquanto no banco de dados Isso representa o tempo total de CPU do usuário e do sistema. Esse valor está em microssegundos.
- total_act_time (total_act_time-Elemento de monitor de tempo de atividade total)
- A quantidade total de tempo gasto executando atividades. Esse valor está em milissegundos
- total_act_wait_time (total_act_wait_time-Elemento do monitor do tempo de espera da atividade total)
- O tempo total gasto no servidor de banco de dados durante o processamento de uma atividade. O valor está em milissegundos.
- lock_wait_time (lock_wait_time-Tempo esperado no elemento de monitor de bloqueios)
- O tempo total decorrido gasto aguardando os bloqueios. O valor é fornecido em milissegundos.
- lock_esperas (lock_esperas-elemento de monitor de esperas de bloqueio)
- O número total de vezes em que os aplicativos ou conexões aguardaram os bloqueios.
- total_sort (total_sort-Elemento de monitor de classificações totais)
- O número total de classificações que foram executadas.
- post_threshold_sort (post_threshold_sort-elemento de monitor de classificações pós-limite)
- O número de classificações que solicitaram heaps após o limite de heap de classificação foi excedido.
- post_shrthreshold_sort (post_shrthreshold_sort-Elemento de monitor de classificações de limite compartilhado)
- O número total de classificações que foram retornadas pelo algoritmo de retorno de memória de classificação. Uma classificação regulada é uma classificação que recebeu menos memória do que a solicitada pelo gerenciador de memória de classificação
- sort_overflows (sort_overflows-Elemento de monitor de estouros de classificação)
- O número total de classificações que ficaram sem heap de classificação e podem ter requisitado espaço em disco para armazenamento temporário.
Como listas de execução são gravadas em tabelas UE
Pelo menos dois registros separados podem ser gravados na tabela UE quando dados base e dados da lista de IDs executáveis são coletados para um monitor de eventos UOW. O primeiro registro contém informações sobre o evento da UOW que contém os dados da UOW base O segundo registro é o evento UOW_EXEC_LIST que contém os dados da listagem de IDs executáveis... Esse segundo registro pode consistir em diversos registros devido ao número potencialmente grande de IDs executáveis exclusivos para uma única UOW.. Esses registros são gravados como linhas separadas na tabela UE para assegurar que cada evento esteja contido no espaço de LOB sequencial disponível. É possível usar as interfaces para formatar a tabela UE para mesclar informações desses eventos. Quando a lista de IDs executáveis não é coletada, um registro associado não é criado; a tabela não contém linhas.
Como as listas de execução são gravadas em tabelas regulares
Ao usar tabelas regulares para saída do monitor de eventos, as informações da lista executável são capturadas como parte do grupo de dados lógicos uow_executable_list. Conforme cada unidade de trabalho é concluída, uma ou mais linhas são incluídas na tabela UOW_EXECUTABLE_LIST_evmon_name, com uma coluna para cada elemento de monitor no grupo de dados lógicos. O número de linhas incluídas na tabela depende de quantos IDs executáveis exclusivos foram executados como parte da unidade de trabalho.
Saída de listagem executável
Quando o monitor de eventos grava em uma tabela UE, o monitor de eventos da unidade de trabalho grava dois registros na tabela UE ao coletar informações de execução. Cada uma das interfaces para exibir os dados em uma tabela UE fornece um mecanismo para visualizar as informações contidas nos dois registros da tabela UE. A ferramenta db2evmonfmt combina as informações em cada registro em um único relatório.. O procedimento EVMON_FORMAT_UE_TO_TABLES produz tabelas relacionais que podem ser juntadas; a tabela UOW_EXECUTABLE_LIST contém as informações da lista executável. A função de tabela EVMON_FORMAT_UE_TO_XML produz um único documento XML que contém as informações de ambos os registros.. Para obter mais informações, consulte Acessando dados do evento capturados por um monitor de eventos de unidade de trabalho.
Quando o monitor de eventos grava diretamente em tabelas relacionais, as informações da lista de executáveis são gravadas na tabela UOW_EXECUTABLE_LIST_evmon_name
Em um ambiente de banco de dados particionado, a lista de IDs de executáveis é gerada por membro, incluindo por membro do agente coordenador e membro de dados. Em um ambiente Db2 pureScale® a lista é gerada a partir do membro coordenador, o que é semelhante à situação em configurações não particionadas.
Exemplos
As seguintes informações de amostra foram coletadas para um aplicativo que executa cinco seções de instrução SQL diferentes em uma UOW. Esta saída fornece uma visualização lógica com colunas de amostra; a saída real depende da ferramenta ou da consulta executada.EXECUTABLE_ID NUM_EXECUTIONS ROWS_READ TOTAL_CPU_TIME
------------------------------------ -------------- --------- --------------
x'01007A00000020020081126171554951791' 1 23456 76888
x'01007900000020020081126171533551120' 55 345 768
x'01007C00000020020081126171720728997' 234 67 232
x'01007B00000020020081126171657272914' 3456 347 1223
x'01007D00000020020081126172409987719' 22242 2244 432444Neste exemplo, há cinco entradas na lista de IDs executáveis para corresponder às cinco seções diferentes que foram executadas. As cinco seções foram executadas um número diferente de vezes, conforme ilustrado pela coluna NUM_EXECUÇÕES, mas apenas uma entrada é fornecida para cada seção exclusiva.. A primeira linha pode indicar uma instrução de atividade problemática porque consumiu tempo de CPU excessivo em apenas uma execução.