本文描述复制日程表的一个故障排除进程门户Cisco用户的语音的(CVP)报告功能。
贡献用穆罕默德Mohasseb, Aleksey Yankovskyy和亚历山大Levichev, Cisco TAC工程师。
Prerequisites
Requirements
Cisco 建议您了解以下主题:
- 微软视窗服务器
- Cisco CVP
- Informix公司DB访问工具
Components Used
本文的信息根据CVP服务器版本11.0,但是为老版本也是可适用的。
The information in this document was created from the devices in a specific lab environment.All of the devices used in this document started with a cleared (default) configuration.If your network is live, make sure that you understand the potential impact of any command.
排除在CVP报告的复制日程表故障
在ciscoadmin数据库agg_schedule表控制每聚合多频繁运行。 有时,在升级表重新载入与一个新的日程表然而后老一个仍然存在。 这导致两次执行的每聚合。 这将负面影响汇总表,因为每一个两次将有行数,并且计数的准确性,插入到它。
诊断
验证是否有重复项在agg_schedule表里。
登陆对报告的CVP有cvp_dbadmin用户的服务器。
启动Windows CMD工具。键入dbaccess命令。选择Connection选项>连接。选择cvp数据库服务器并且按进入。将提示您输入证件。请使用cvp_dbadmin帐户。
选择ciscoadmin@cvp数据库。 选择查询语言>New。运行此命令。
UNLOAD TO schedule.txt SELECT * FROM agg_schedule
打开schedule.txt文件。根据CVP版本它也许位于C:\Users\Administrator或C:\db\Informix\etc\sysadmin文件夹。
它应该有唯一CVP数据日程表条目。例如call_15或applicationsummary_daily如此图片所示。
保证没有重复项类型。如果那么找到得重复项请实现解决方法。
取消复制日程表
禁用概略的工作(CVPSummary)在Windows任务调度程序。
打开schedule.txt文件并且删除所有复制线路。那里应该保持仅前10个条目。
连接到ciscoadmin数据库如上所述并且运行此查询。此命令从agg_schedule表删除所有条目。
从不包含任何重复项对agg_schedule表的schedule.txt文件装载新的值。
保证那里是没有重复项当前在agg_schedule表里。schedule1.txt文件的输出只应该包含10个条目。
从表去除相同的条目
因为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;
Note:如果问题是开始的超过60天前重复每日,每周和月度表的上述步骤。
重置最近执行
重置15分钟表的lastrun字段。
当15分钟表是更新的,请发现时候。运行这些命令cvp_data数据库。
SELECT max(dbdatetime) FROM applicationsummary_15;
SELECT max(dbdatetime) FROM call_15;
写下几天的数量从最近一次更新。
运行此查询重置15分钟表的最后执行在ciscoadmin DB。在本例中15分钟表是更新的17天前上次。
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';
Note:用您从这两个的每一个表的步骤获得几天的数量替换"17"从命令。
以后该将更正步骤15分钟表。
因为15分钟表保留数据为前60天,请重置每日,每周和月度表的lastrun值并且为这些表删除所有数据60天。 当aggregation.bat进程开始,它将填充每日的数据,与正确的值的每周,月度表此方式保证该下时候。
重置每日,每周和月度表的lastrun用这些命令被执行ciscoadmin数据库。
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);
Enable (event)在任务调度程序的概略的工作CVPSummary聚合进程的能再开始。
Verify
使用本部分可确认配置能否正常运行。
保证汇总表用这些命令更新被执行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;
Related Information