Introdução
Este documento descreve como solucionar problemas da mensagem de erro "Falha na alocação de memória durante o processamento da consulta" no CUCM quando um Tronco SIP falha ao ser adicionado.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- VOS (Voice Operating System, Sistema operacional de voz)
- CUCM (Cisco Unified Communications Manager) (Gerenciador de Comunicações Unificadas da Cisco).
- SIP (Session Interface Protocol Protocolo de Interface de Sessão).
- Banco de dados Informix.
- CLI (Command Line Interface, interface de linha de comando).
Componentes Utilizados
Este documento destina-se ao CUCM e não está restrito a versões específicas de software e hardware.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
Quando você adiciona um tronco SIP ao servidor CUCM, há momentos em que o erro mostrado na imagem é exibido.
Execute as próximas etapas antes de reproduzir o problema.
Etapa 1. Defina os logs em um nível detalhado em todos os nós do CUCM
- Rastreamento CM
- Monitor de Camada DB
- Serviço Web CCMAdmin
- Serviço Web CCMUser
Note: Tenha em mente que alguns rastreamentos já estão definidos para o nível detalhado, essa configuração depende da versão do CUCM que você instalou.
Etapa 2. Reproduza o problema. Tente adicionar o tronco SIP e reduzir o tempo em que ele falha ao realizar a tarefa
Troubleshooting
Navegue até a RTMT (Real-Time Monitor Tool) e obtenha estes rastreamentos:
- Rastreamento CM
- Monitor de Camada DB
- Serviço Web CCMAdmin
- Serviço Web CCMUser
- Logs de aplicativos do Visualizador de Eventos
- Logs do sistema do visualizador de eventos
Análise de log
A partir dos registros do CCMAdmin Web Service
O tronco SIP é inserido no banco de dados
2024-03-14 09:51:12,487 DEBUG [http-nio-1027-exec-7] formhandlers.TrunkFormHandler - Insert Trunk
2024-03-14 09:51:12,570 DEBUG [http-nio-1027-exec-7] utilities.DbRead - reading from cache...
2024-03-14 09:51:12,573 DEBUG [http-nio-1027-exec-7] utilities.DbRead - reading from cache...
O dispositivo de tronco SIP é atualizado com uma ID exclusiva
2024-03-14 09:51:12,590 DEBUG [http-nio-1027-exec-7] formhandlers.TrunkFormHandler - Updating SIP - devicePkid = e277a39a-1437-84ba-5047-57adddc75a43
...
The SP Trunk starts to be configured within the database
2024-03-14 09:51:12,618 DEBUG [http-nio-1027-exec-7] formhandlers.Device - update initiated
2024-03-14 09:51:12,620 DEBUG [http-nio-1027-exec-7] formhandlers.Device - Insert/update device
...
2024-03-14 09:51:13,449 DEBUG [http-nio-1027-exec-7] utilities.DbRelatedUtil - 1 row(s) affected.
...
2024-03-14 09:51:13,910 DEBUG [http-nio-1027-exec-7] utilities.DbRelatedUtil - 1 row(s) affected.
2024-03-14 09:51:13,913 INFO [http-nio-1027-exec-7] utilities.SIPDeviceUtil - Entering checkSecurityProfilePortDuplicates
...
A inserção do dispositivo falha e a configuração inicia sua reversão
2024-03-14 09:51:14,294 ERROR [http-nio-1027-exec-7] formhandlers.Device - insert/update failed. Rollback changes
Exceção de Identificador lançada pelo Banco de Dados
2024-03-14 09:51:14,338 ERROR [http-nio-1027-exec-7] formhandlers.TrunkFormHandler - Exception: Memory allocation failed during query processing.
java.sql.SQLException: Memory allocation failed during query processing.
2024-03-14 09:51:14,360 INFO [http-nio-1027-exec-7] actions.BaseAction - SQLException :: -208::java.sql.SQLException: Memory allocation failed during query processing.
2024-03-14 09:51:14,363 DEBUG [http-nio-1027-exec-7] actions.BaseAction - Db Error :: Memory allocation failed during query processing.
2024-03-14 09:51:14,365 DEBUG [http-nio-1027-exec-7] actions.BaseAction - Error could not be mapped using zero :: Memory allocation failed during query processing.
java.lang.NumberFormatException: For input string: "Memory allocation failed during query processing."
2024-03-14 09:51:14,370 DEBUG [http-nio-1027-exec-7] actions.BaseAction - Error Code :: 0
2024-03-14 09:51:14,410 DEBUG [http-nio-1027-exec-7] actions.BaseAction - DBE Error code was not set :: java.sql.SQLException: Memory allocation failed during query processing.
2024-03-14 09:51:14,412 DEBUG [http-nio-1027-exec-7] actions.BaseAction - Parsing Database Specific Error :: java.sql.SQLException: Memory allocation failed during query processing. :: error.add
2024-03-14 09:51:14,414 ERROR [http-nio-1027-exec-7] actions.BaseAction - Caller Specified DatabaseException [error.add] :: java.sql.SQLException: Memory allocation failed during query processing.
Nos registros do CCM Informix é possível ver vários desses erros
ERROR Estimate FAILED for table 'ccm12_5_1_16900_48:"informix".
Há certas situações em que é possível ver um erro de NTP
Mar 14 09:51:23 FXSDCWCMFPUB user 4 platform: Response from 'ntpdate -q': server X.X.X.X, stratum 0, offset 0.000000, delay 0.00000#01214 Mar 09:51:23 ntpdate[8646]: no server suitable for synchronization found.
Solução
aviso: Para limpar a alocação de memória, você precisa reiniciar os serviços fora do horário comercial, pois a reinicialização dos serviços listados pode afetar o desempenho do sistema de voz.
Note: Esse processo requer que seja feito apenas no nó Editor do CUCM.
Etapa 1. Reinicie o serviço Cisco Tomcat (serviço utils reinicie o Cisco Tomcat) através da CLI.
A reinicialização do Cisco Tomcat implica que recursos como a Mobilidade de Ramal, o portal Self-Care, a GUI do CUCM e o login dos usuários não podem ser acessados enquanto o serviço estiver inoperante.
A GUI leva cerca de 5 minutos para estar disponível após a reinicialização do serviço, portanto, visto que um erro 404 Não encontrado é esperado.
Etapa 2. Adicione o dispositivo de tronco SIP ao CUCM.
Etapa 3. Se a etapa 2 não for concluída com êxito, reinicie o serviço A Cisco DB no nó do editor do CUCM por meio da CLI (reinicialização do serviço utils A Cisco DB),
Lembre-se de que quando você reinicia um Cisco DB no editor, todos os bancos de dados são reiniciados, assim, você não pode configurar ou adicionar recursos e configurações nos servidores CUCM, e a tentativa de adicionar ou configurar algo nos servidores pode ser perdida depois que o serviço tiver voltado e todos os bancos de dados tiverem sido configurados novamente, porque todos os bancos de dados dos assinantes entram em somente leitura enquanto o serviço Cisco DB está no modo de reinicialização.
No entanto, você pode fazer chamadas telefônicas, uma vez que essas informações são armazenadas no banco de dados na memória como somente leitura, você pode configurar Grupos de gerenciadores de chamadas especificamente para fins de failover, que depende do nó que você deseja reiniciar, para que os telefones sejam mantidos registrados.
Etapa 4. Depois de reiniciar o serviço A Cisco DB em todos os nós, aguarde cerca de 15 a 20 minutos e adicione o Tronco SIP.
Etapa 5. Se o problema persistir após a reinicialização do Cisco Tomcat e de um Cisco DB no Publicador, reinicie os serviços nos nós do assinante que devem ser usados para o processamento de chamadas.
Note:
Esse problema também pode ser visto nesses cenários.
1. Quando o Sistema tiver apresentado ou ainda estiver apresentando uma CPU de Alto Desempenho.
2. Quando o Network Time Protocol (NTP) não está sincronizado, o que provoca uma dessincronização entre todos os bancos de dados dos nós.
3. Quando houver certificados expirados.