Introducción
Este documento describe cómo reparar CSCvd10535 de una manera posible.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Cisco Unified Intelligence Center (CUIC)
- Cisco Unified Contact Center Enterprise (UCCE)
Componentes Utilizados
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
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. Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
Según el error, si está recibiendo este error en la sincronización UCCE Operation, Administration and Management (OAMP) de CUIC, este documento explica una manera de corregirlo
"doBulkInsert para supervisores falló: Excepción SQLE: No se pudo insertar una nueva fila - valor duplicado en una columna INDEX ÚNICO (Índice único:). "
Solución de problemas de sincronización CUIC con UCCE
Puede ver esto en los registros CUIC:
0000019503: 10.250.20.56: Aug 28 2019 14:26:19.232 -0700: %CCBU__CUIC_SECURITY-3-EXCEPTION_INFO: %[build_date=Jan 17, 1970 5:01 PM][build_type=rel][exception=java.sql.SQLException: Unique constraint (informix.u121_108) violated.
at com.informix.jdbc.IfxSqli.addException(IfxSqli.java:3176)
at com.informix.jdbc.IfxSqli.receiveError(IfxSqli.java:3458)
at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2369)
at com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java:2294)
at com.informix.jdbc.IfxSqli.executeCommand(IfxSqli.java:871)
at com.informix.jdbc.IfxResultSet.executeUpdate(IfxResultSet.java:290)
at com.informix.jdbc.IfxStatement.executeUpdateImpl(IfxStatement.java:1107)
at com.informix.jdbc.IfxStatement.executeUpdateBody(IfxStatement.java:381)
at com.informix.jdbc.IfxStatement.executeUpdate(IfxStatement.java:269)
at com.mchange.v2.c3p0.impl.NewProxyStatement.executeUpdate(NewProxyStatement.java:64)
at com.cisco.ccbu.cuic.businesslogic.usersync.bulkinsert.CuicUserSyncBulkInsertSupervisors.doBulkInsert(CuicUserSyncBulkInsertSupervisors.java:212)
at com.cisco.ccbu.cuic.businesslogic.usersync.CuicUserSyncProcessingCenterWorkerRunnable.run(CuicUserSyncProcessingCenterWorkerRunnable.java:108)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: ISAM error: duplicate value for a record with unique key.
at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:408)
at com.informix.jdbc.IfxSqli.receiveError(IfxSqli.java:3463)
Recopile los resultados de estos comandos:
run sql select id, name, samaccountname from cuic_data:cuicuser where (samaccountname is null or samaccountname = '') and name not like 'CUIC\\%'
run sql update cuic_data:cuicuser set samaccountname=name where (samaccountname is null or samaccountname = '') and name not like 'CUIC\\%
run sql select name, description, alias from cuic_data:cuicuser order by description
Ejecute esta consulta para buscar el nombre/ID del usuario que intenta quitar de la interfaz de usuario de CUIC:
run sql select id, name, description from cuic_data:cuicuser
La ID de usuario es similar a la siguiente:
6FD44DB6100001620010065A0AFA1438
Una vez que tenga el ID, puede ejecutar estas consultas para el usuario y reemplazar la parte ‘<userId>' por el ID que encontró en el comando anterior:
run sql select Id, ScheduledreportName from cuic_data:cuicScheduledReports where UserId = '<userId>'
run sql select Id, name from cuic_data:cuicCategory where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicDashboard where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicReportDefinition where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicReport where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicDatasource where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicValueList where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicCollection where Owner = '<userId>' and ValueListId is not null
En este ejemplo, se encontraron 11 usuarios que no se pudieron eliminar.
A partir de esta consulta, busque la ID de la cuenta de administrador de CUIC:
run sql select id, name, description from cuic_data:cuicuser
Por lo general es esta:
1111111111111111111111111111AAAA
Ejecute estas consultas para tomar posesión de los objetos:
run sql update cuic_data:cuicreport set owner = '1111111111111111111111111111AAAA' where owner in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))
run sql select id,name from cuic_data:cuicscheduledreports where owner in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))
run sql update cuic_data:cuiccategory set owner = '1111111111111111111111111111AAAA' where owner in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))
run sql update cuic_data:cuicdashboard set owner = '1111111111111111111111111111AAAA' where owner in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))
run sql update cuic_data:cuicscheduledreports set userid = '1111111111111111111111111111AAAA' where userid in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))
Si hay carpetas creadas por los usuarios, también puede quitarlas de la interfaz de usuario de CUIC.
También puede utilizar la función Ejecutar como y quitar informes específicos desde dentro.