소개
이 문서에서는 SIP 트렁크 추가에 실패할 때 CUCM에서 "메모리 할당 실패 시 쿼리 처리 중"이라는 오류 메시지를 해결하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- VOS(음성 운영 체제)
- CUCM(Cisco Unified Communications Manager).
- SIP(Session Interface Protocol)
- Informix 데이터베이스.
- CLI(Command Line Interface)
사용되는 구성 요소
이 문서는 CUCM용으로 작성되었으며 특정 소프트웨어 및 하드웨어 버전으로 제한되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
CUCM 서버에 SIP 트렁크를 추가할 때 이미지에 표시된 오류가 표시되는 경우가 있습니다.
문제를 재현하기 전에 다음 단계를 수행하십시오.
1단계. 모든 CUCM 노드에서 로그를 세부 레벨로 설정합니다
- CM 추적
- DB 레이어 모니터
- CCMAdmin 웹 서비스
- CCMUser 웹 서비스
참고: 일부 추적은 이미 세부 레벨로 설정되어 있습니다. 이 컨피그레이션은 설치한 CUCM의 버전에 따라 달라집니다.
2단계. 문제를 재현합니다. SIP 트렁크를 추가하고 작업을 수행하지 못하는 시간을 표시하려고 합니다.
문제 해결
RTMT(Real-Time Monitor Tool)로 이동하여 다음 추적을 가져옵니다.
- CM 추적
- DB 레이어 모니터
- CCMAdmin 웹 서비스
- CCMUser 웹 서비스
- 이벤트 뷰어 애플리케이션 로그
- 이벤트 뷰어 시스템 로그
로그 분석
CCMAdmin 웹 서비스 로그에서
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...
SIP 트렁크 디바이스가 고유한 ID로 업데이트됩니다
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
데이터베이스에서 예외가 throw되었습니다.
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 서비스를 재시작합니다(유틸리티 서비스 Cisco Tomcat 재시작).
Cisco Tomcat 재시작은 익스텐션 모빌리티, 셀프 케어 포털, CUCM GUI 및 사용자의 로그인 등의 기능을 서비스가 중단된 동안에는 액세스할 수 없음을 의미합니다.
GUI는 서비스 재시작 후 5분 정도 걸리므로 404 Not Found 오류가 예상됩니다.
2단계. SIP 트렁크 디바이스를 CUCM에 추가합니다.
3단계. 2단계가 성공적으로 완료되지 않으면 CLI를 통해 CUCM 게시자 노드에서 A Cisco DB 서비스를 재시작합니다(유틸리티 서비스 재시작 A Cisco DB).
게시자에서 Cisco DB를 재시작하면 모든 데이터베이스가 재시작되므로 CUCM 서버에 기능과 구성을 구성하거나 추가할 수 없으며, 서비스가 다시 시작되고 모든 가입자의 데이터베이스가 읽기 전용으로 설정되기 때문에 서버의 어떤 것도 추가하거나 구성하려는 시도가 손실될 수 있습니다. A Cisco DB 서비스가 재시작 모드에 있을 때 모든 가입자의 데이터베이스가 읽기 전용으로 전환되기 때문입니다.
그러나 이 정보는 메모리 내 데이터베이스에 읽기 전용으로 저장되므로 전화를 걸 수 있습니다. 즉, 재시작하려는 노드에 따라 달라지는 장애 조치를 위해 Call Manager 그룹을 구성할 수 있습니다.
4단계. 모든 노드에서 A Cisco DB 서비스를 다시 시작한 후 15~20분 정도 기다린 다음 SIP 트렁크를 추가합니다.
5단계. 게시자에서 Cisco Tomcat 및 Cisco DB를 재시작한 후에도 문제가 지속되면 통화 처리를 위한 가입자 노드에서 해당 서비스를 재시작합니다.
참고:
이 문제는 이러한 시나리오에서도 확인할 수 있습니다.
1. 시스템에서 CPU가 높거나 높은 상태가 지속되는 경우
2. NTP(Network Time Protocol)가 동기화되지 않은 경우, 이로 인해 모든 노드의 데이터베이스 간에 동기화가 취소됩니다.
3. 유효기간이 지난 경우