简介
本文档介绍如何修复从记录器数据库到HDS的缓慢复制。
作者:思科TAC工程师Steve Hartman。
先决条件
要求
Cisco 建议您了解以下主题:
结构化查询语言(SQL)
思科统一联系中心企业版(UCCE)
使用的组件
本文档中的信息基于以下软件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
问题
从记录器到HDS的历史数据的慢速更新可能需要30分钟到几小时。这不包括在HDS上执行SQL Truncate Table Recovery命令后的慢速更新。从本质上讲,这是一个缓慢的过程,根据HDS和记录器之间的数据量、呼叫量、处理功率和网络速度,与记录器重新同步可能需要24小时。
HDS在1天、几天、几周甚至几个月的时间内始终落后于记录器,并且在正常条件下运行。
验证
第1个指示是TCD清除作业将失败,因为事务日志将已满。也可能由于其他原因而失败,这将阻止HDS DB执行清除功能,并允许DB增长并给系统造成压力。
第2个指示可能是表的最大日期/时间在记录器和HDS之间有差异。要验证这一点,您可以在记录器和HDS上运行这些SQL查询,并比较日期/时间。这些是一些应检查和匹配的更频繁更新的表。
select max (DateTime) from Call_Type_Interval
select max (DateTime) from Agent_Skill_Group_Interval
select max (DateTime) from Route_Call_Detail
select max (DateTime) from Termination_Call_Detail
select max (DateTime) from Skill_Group_Interval
发生这种情况的一个原因是,当数据库的事务日志达到默认值40%已满时, LogWatch会启动并暂停数据流到HDS。当事务日志降到此标记以下时,它将不会变化。要查看LogWatch是否已达到此限制并暂停数据流,请查看此消息的RPL日志:
dis-rpl Trace: Thread [6316] Function Replication is Paused by LogWatch in CheckForFunctionPause
dis-rpl Trace: Thread [7492] Function Recovery is Paused by LogWatch in CheckForFunctionPause
在极少数情况下,您可能还会看到复制过程崩溃并创建迷你转储。此消息表明事务日志已满:
dis-rpl Trace: Node Manager thread received shutdown message
dis-rpl Trace: CExceptionHandlerEx::GenerateMiniDump -- A Mini Dump File is available at logfiles\replication.exe_20140918030018994.mdmp
dis-rpl Trace: Thread [5232] Function Replication is Paused by LogWatch in CheckForFunctionPause
dis-rpl Unhandled Exception: Exception code: C0000005 ACCESS_VIOLATION
Fault address: 0043AD8E 01:00039D8E C:\icm\bin\replication.exe
terminating_call_detail
Registers:
EAX:00000004
EBX:00000178
ECX:00000000
EDX:00F23110
ESI:77E42014
EDI:77E62FBD
CS:EIP:001B:0043AD8E
SS:ESP:0023:0131FE54 EBP:0131FE60
DS:0023 ES:0023 FS:003B GS:0000
Flags:00010212
Call stack:
Address Frame
0043AD8E 0131FE60 EventInput::Flush+1E
004173D4 0131FEDC ICRDb::Shutdown+14
0040387A 0131FEE8 NodeManagerHandler+2A
00614F56 0131FFB8 NMResponderThread+256
77E6484F 0131FFEC GetModuleHandleA+DF
解决方案
要从LogWatch暂停数据流的问题中恢复,您可以将回退百分比从40%增加到更高的数字。通常,60%是一个好起点,但不超过80%。
要执行此更改,请编辑注册表并修改以下项:Distributor\RealTimeDistributor\CurrentVersion\Logger\CurrentVersion\SQLServer\LogWatch\BackOffPercent and cycle distributor services。
如果事务日志已满,则应增加HDS数据库事务日志以容纳正在处理的数据量。此处没有“幻数”,但以2gg作为日志大小的开头,然后递增2,直到日志足够大以处理其系统正在处理的数据量。
要调查的另一个事务日志是临时数据库日志,其中UCCE试运行指南建议起始点为400MB,在大多数部署下,即使在大容量客户中,也不应超过2GB。