소개
이 문서에서는 로거 DB에서 HDS로의 느린 복제를 수정하는 방법에 대해 설명합니다.
기고자: Cisco TAC 엔지니어 Steve Hartman
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
구조화된 쿼리 언어(SQL)
Cisco UCCE(Unified Contact Center Enterprise)
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문제
로거에서 HDS로 기록 데이터를 느리게 업데이트하는 데 30분에서 몇 시간 정도 걸릴 수 있습니다. HDS에서 SQL Truncate Table Recovery 명령을 실행한 후에는 느린 업데이트는 포함되지 않습니다.이는 기본적으로 느린 프로세스이며, HDS와 로거 간의 데이터 양, 통화 볼륨, 처리 능력 및 네트워크 속도를 기준으로 로거와 다시 동기화하는 데 최대 24시간이 걸릴 수 있습니다.
HDS는 로거를 1 일, 며칠, 몇 주, 심지어 몇 개월 동안 지속적으로 따라올 수 있으며 정상적인 환경에서 작동합니다.
다음을 확인합니다.
첫 번째 표시는 트랜잭션 로그가 가득 차므로 TCD 제거 작업이 실패함을 나타냅니다.또한 HDS DB가 제거 기능을 수행하지 못하게 하고 DB가 증가하여 시스템에 부담이 생길 수 있는 다른 이유로 인해 장애가 발생할 수 있습니다.
두 번째 표시는 테이블의 최대 날짜/시간이 로거와 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
이러한 현상은 DB의 트랜잭션 로그가 기본값인 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 DB 트랜잭션 로그를 늘려야 합니다.여기에는 '매직' 번호가 없지만 로그 크기에 2GB로 시작하고 시스템이 처리하는 데이터 볼륨을 처리할 수 있을 만큼 로그가 커질 때까지 2GB로 증가합니다.
조사할 다른 트랜잭션 로그는 UCCE 스테이징 가이드에서 400MB의 시작 지점을 권장하고 대규모 고객도 포함하여 대부분의 구축에서 2GB를 초과할 수 없는 임시 DB 로그입니다.