简介
本文档介绍如何解决在无法添加SIP中继时在CUCM上出现错误消息“Memory allocation failed during query processing”。
先决条件
要求
Cisco 建议您了解以下主题:
- VOS(语音操作系统)
- CUCM(思科统一通信管理器)。
- SIP(会话接口协议)
- Informix数据库。
- CLI(命令行界面)
使用的组件
本文档适用于CUCM,并不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
将SIP中继添加到CUCM服务器时,有时会显示图像中所示的错误。
请在重现问题之前执行后续步骤。
步骤1.在所有CUCM节点中将日志设置为详细级别
- CM跟踪
— 数据库层监控器
- CCMAdmin Web服务
- CCMUser Web服务
注意:请记住,某些跟踪已设置为详细级别,此配置取决于您安装的CUCM版本。
步骤2.重现问题。尝试添加SIP中继,并记下它无法完成任务时的时间
故障排除
导航到RTMT(实时监控工具)并获取以下跟踪:
- CM跟踪
— 数据库层监控器
- CCMAdmin Web服务
- CCMUser Web服务
— 事件查看器应用程序日志
— 事件查看器系统日志
日志分析
从CCMAdmin Web服务日志
SIP中继被插入到数据库中
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...
使用唯一ID更新SIP中继设备
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
...
设备插入失败,配置开始回滚
2024-03-14 09:51:14,294 ERROR [http-nio-1027-exec-7] formhandlers.Device - insert/update failed. Rollback changes
数据库引发句柄异常
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.
在CCM Informix日志中,可能会看到其中的一些错误
ERROR Estimate FAILED for table 'ccm12_5_1_16900_48:"informix".
在某些情况下,您可能会看到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.
解决方案
警告:要清除内存分配,您需要从营业时间重新启动服务,因为重新启动列出的服务可能会影响语音系统的性能。
注意:此过程仅需要在CUCM发布服务器节点中完成。
步骤1.通过CLI重新启动Cisco Tomcat服务(utils service restart Cisco Tomcat)。
Cisco Tomcat重启意味着,在服务关闭时,用户不能访问诸如分机移动、自助服务门户、CUCM GUI和登录等功能。
服务重新启动后,GUI大约需要5分钟才能可用,因此预期会出现“404 Not Found(404未找到)”错误。
步骤2.将SIP中继设备添加到CUCM。
第3步:如果第2步未成功完成,请通过CLI在CUCM发布方节点中重新启动A Cisco DB服务(utils服务重新启动A Cisco DB)。
请记住,当您在发布服务器中重新启动A Cisco DB时,所有数据库都会重新启动,因此您不能在CUCM服务器中配置或添加功能和配置,并且重新恢复服务并再次设置所有数据库后,尝试在服务器中添加或配置任何内容时可能会丢失,因为当A Cisco DB服务处于重新启动模式时,所有用户的数据库都进入只读模式。
但是,您可以进行电话呼叫,因为此信息存储在内存数据库中,为只读,您可以专门配置Call Manager Groups以进行故障切换,具体取决于要重新启动的节点,因此电话会保持注册。
步骤4.重新启动所有节点中的A Cisco DB服务后,请等待大约15至20分钟,然后添加SIP中继。
步骤5.如果问题在Cisco Tomcat和发布服务器上的思科数据库重新启动后仍然存在,请在订阅服务器节点上重新启动那些用于呼叫处理的服务。
注意:
这些问题也出现在这些场景中。
1.当系统遇到或仍然遇到高CPU时。
2.当网络时间协议(NTP)未同步时,这会引发所有节点数据库之间的非同步。
3.证书过期时。