目錄

簡介

必要條件

需求

採用元件

背景資訊

疑難排解

日誌分析

解決方案

簡介

本文檔介紹在無法新增SIP中繼時，如何對CUCM上的錯誤消息「查詢處理期間記憶體分配失敗」進行故障排除。

必要條件

需求

思科建議您瞭解以下主題：

- 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...

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

資料庫引發控制代碼異常

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時，所有資料庫都會重新啟動，因此您無法配置或向CUCM伺服器新增功能和配置，並且服務恢復後，所有資料庫重新設定後，在伺服器中新增或配置任何內容的嘗試都會丟失，因為當A Cisco DB服務處於重新啟動模式時，所有訂閱者的資料庫都進入只讀模式。

但是，您可以進行電話呼叫，由於此資訊以只讀方式儲存在記憶體資料庫中，因此您可以專門為故障切換目的配置Call Manager Groups，具體取決於要重新啟動的節點，這樣電話就會保持註冊。

步驟4.在所有節點中重新啟動Cisco DB服務後，請等待大約15至20分鐘，然後添加SIP中繼。

步驟5.如果在發佈伺服器上重新啟動Cisco Tomcat和Cisco DB後問題仍然存在，請在訂閱伺服器節點上重新啟動用於呼叫處理的那些服務。

附註：

這些問題也可能會出現在這些場景中。

1.系統遇到或仍然遇到高CPU時。

2.當網路時間協定(NTP)未同步時，這會引發所有節點資料庫之間的非同步。

3.證書到期時。