目錄

簡介

必要條件

需求

採用元件

排除CVP報告中的重複計畫故障

診斷

因應措施

刪除重複的計畫

從表中刪除重複條目

重置最近的執行

驗證

相關資訊

簡介

本檔案介紹思科客戶語音入口網站(CVP)報告功能重複排程的疑難排解程式。

作者：Mohamed Mohasseb、Aleksey Yankovskyy和Alexander Levichev，思科TAC工程師。

必要條件

需求

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

- Microsoft Windows Server

- Cisco CVP

- Informix DB訪問工具

採用元件

本文檔中的資訊基於CVP伺服器11.0版，但它同樣適用於以前的版本。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路正在作用，請確保您已瞭解任何指令可能造成的影響。

排除CVP報告中的重複計畫故障

在ciscoadmin資料庫agg_schedule表中，控制每個聚合的運行頻率。在某些情況下，升級後用新排程重新載入該表，但舊排程仍然存在。這會導致每個聚合執行兩次。這會對摘要表的準確性產生不利影響，因為每個表的行數是插入該表的行的兩倍，因此會插入計數。

診斷

驗證agg_schedule表中是否存在重複項。

使用cvp_dbadmin使用者登入CVP報告服務器。

啟動Windows CMD工具。鍵入dbaccess命令。選擇Connection頁籤> Connect。選擇cvp資料庫伺服器並按Enter鍵。系統將提示您鍵入憑據。使用cvp_dbadmin帳戶。

選擇ciscoadmin@cvp資料庫。選擇查詢語言 > 新建。運行此命令。

UNLOAD TO schedule.txt SELECT * FROM agg_schedule

開啟schedule.txt檔案。根據CVP版本，它可能位於C:\Users\Administrator或C:\db\Informix\etc\sysadmin資料夾中。

它應具有唯一的CVP資料計畫條目。例如call_15或applicationsummary_daily（如圖所示）。

確保沒有重複型別。如果發現重複項，則實施解決方法。

因應措施

刪除重複的計畫

在Windows任務計畫程式中禁用摘要作業(CVPSummary)。

開啟schedule.txt檔案並刪除所有重複行。應該只保留前10個條目。

按照之前所述連線到ciscoadmin資料庫並運行此查詢。此命令從agg_schedule表刪除所有條目。

- DELETE FROM agg_schedule WHERE 1=1;

從schedule.txt檔案中載入不包含任何重複項的新值agg_schedule表。

- LOAD FROM schedule.txt INSERT INTO agg_schedule;

確保agg_schedule表中不存在重複項。schedule1.txt檔案的輸出應僅包含10個條目。

- UNLOAD TO schedule1.txt SELECT * FROM agg_schedule;

從表中刪除重複條目

由於15分鐘的表是用來填充所有其他表的基礎，因此首先需要修復。

連線到cvp_data資料庫。

對call_15表運行這些命令。

SELECT distinct * FROM call_15 into temp t1 with no log;

TRUNCATE table call_15;

INSERT into call_15 select * from t1;

DROP table t1;

對applicationsummary_15表重複相同的步驟。

SELECT distinct * from applicationsummary_15 into temp t1 with no log;

TRUNCATE table applicationsummary_15;

INSERT into applicationsummary_15 select * from t1;

DROP table t1;

附註：如果問題在60天之前就開始了，則對每日、每週和每月表格重複上述步驟。

重置最近的執行

重置15分鐘錶的lastrun欄位。

瞭解15分鐘錶的更新時間。對cvp_data資料庫運行這些命令。

SELECT max(dbdatetime) FROM applicationsummary_15;

SELECT max(dbdatetime) FROM call_15;

記下自上次更新以來的天數。

運行此查詢以重置ciscoadmin資料庫上15分鐘錶的最後執行。在此示例中，上次更新17天前更新了15分鐘錶。

UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 17 units day) WHERE dst_tabname LIKE 'call_15';

UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 17 units day) WHERE dst_tabname LIKE 'applicationsummary_15';

附註：將命令中的「17」替換為步驟中針對這兩個表的每個表的天數。

在此步驟之後，15分鐘錶將被校正。

由於15分鐘的表保留最近60天的數據，因此重置每天、每週和每月表的lastrun值，並刪除這些表的60天後的所有數據。此方法確保下次啟動aggregation.bat進程時，將使用正確的值填充每天、每週和每月表中的數據。

使用針對ciscoadmin資料庫執行的這些命令重置每日、每週和每月表的lastrun。

UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 60 units day) WHERE dst_tabname LIKE 'call_daily';

UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 60 units day) WHERE dst_tabname LIKE 'call_weekly';

UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 60 units day) WHERE dst_tabname LIKE 'call_monthly;

UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 60 units day) WHERE dst_tabname LIKE 'applicationsummary_daily;

UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 60 units day) WHERE dst_tabname LIKE 'applicationsummary_weekly;

UPDATE ciscoadmin:agg_schedule SET lastrun = (current year to day - 60 units day) WHERE dst_tabname LIKE 'applicationsummary_monthly;

刪除60天前每天、每週和每月表格中的所有資料。

DELETE FROM cvp_data:call_daily WHERE dbdatetime > (current - 60 units day);

DELETE FROM cvp_data:call_weekly WHERE dbdatetime > (current - 60 units day);

DELETE FROM cvp_data:call_monthly WHERE dbdatetime > (current - 60 units day);

DELETE FROM cvp_data:applicationsummary_daily WHERE dbdatetime > (current - 60 units day);

DELETE FROM cvp_data:applicationsummary_weekly WHERE dbdatetime > (current - 60 units day);

DELETE FROM cvp_data:applicationsummary_monthly WHERE dbdatetime > (current - 60 units day);

在任務計畫程式中啟用摘要作業CVPSummary，以便重新開始聚合過程。

驗證

使用本節內容，確認您的組態是否正常運作。

確保使用針對cvp_db資料庫執行的這些命令更新摘要表。

SELECT MAX(dbdatetime) FROM applicationsummary_15;

SELECT max(dbdatetime) FROM applicationsummary_daily;

SELECT max(dbdatetime) FROM applicationsummary_weekly;

SELECT max(dbdatetime) FROM applicationsummary_monthly;

SELECT MAX(dbdatetime) FROM call_15;

SELECT MAX(dbdatetime) FROM call_daily;

SELECT MAX(dbdatetime) FROM call_weekly;

SELECT MAX(dbdatetime) FROM call_monthly;

相關資訊

- 將松鼠SQL客戶端與CVP報告整合配置示例

- 技術支援與檔案