소개
이 문서에서는 "Object not found User(사용자를 찾을 수 없는 개체)" 오류가 표시될 때 Cisco Unity Connection(CUC) 웹 GUI에서 최종 사용자를 삭제하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Cisco Unity Connection(CUC)
- 구조적 쿼리 언어(SQL)
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문제
CUC 관리 페이지에서 최종 사용자를 삭제해야 하는 경우가 있으며, 삭제할 가능성 없이 "Object not found User" 오류가 표시됩니다.

해결 방법 1
1단계. CLI를 통해 Primary CUC로 이동합니다. 여기에 로그인하고 명령을 실행합니다. cuc dbquery unitydirdb SELECT objectId, dtmfacessid from vw_User WHERE alias = "user_alias"
이 명령은 최종 사용자와 연결된 개체 식별자를 가져옵니다.
참고: SQL 쿼리는 대/소문자를 구분합니다.
admin: run cuc dbquery unitydirdb SELECT objectId, dtmfaccessid from vw_User WHERE alias = "Lusky"
objectid dtmfaccessid
------------------------------------ ------------
644d3092-ed63-4694-a2ad-e0a5d2c8ad63 803103
2단계. 다음 명령을 사용하여 delete 문의 실행을 계속합니다. run cuc dbquery unitydirdb execute procedure csp_userdelete(pobjectid="ObjectID_from_first_command")
이 명령은 메시지 행과 함께 성공적으로 실행할 수 있습니다. 1 또는 오류가 있습니다.
완료되면 CUC Administration(CUC 관리) > Users(사용자) > Users(사용자) 페이지로 돌아가서 사용자가 삭제되었는지 확인합니다. 삭제된 사용자가 아닌 경우 GUI 페이지에서 다시 삭제해 보십시오.
그러나 문제가 지속되고 최종 사용자를 삭제할 수 없거나 명령이 오류를 발생시킨 경우 트러블슈팅 단계를 진행합니다.
해결 방법 2
1단계. 다음 명령과 함께 사용할 사용자와 연결된 통화 처리기가 있는지 확인합니다. cuc dbquery unitydirdb select objectid, displayname from vw_callhandler를 실행합니다. 여기서 recipient_subscriberobjectid = "ObjectID_from_first_command"
2단계. 다음 명령을 사용하여 참조를 삭제합니다. cuc dbquery unitydirdb EXECUTE PROCEDURE csp_callhandlerDelete 실행(pObjectId ="ObjectId_from_the_previous_step")
3단계. 다음 명령을 사용하여 사용자를 삭제합니다. cuc dbquery unitydirdb EXECUTE PROCEDURE csp_UserDelete 실행(pObjectId = "ObjectID_from_first_command")
CUC Administration(CUC 관리) > Users(사용자) > Users(사용자) 페이지로 돌아가서 사용자가 삭제되었는지 확인합니다. 삭제된 사용자가 아니면 GUI 페이지에서 다시 삭제해 보십시오.
해결 방법 3
admin:run cuc dbquery unitydirdb execute procedure csp_userdelete(pobjectid='644d3092-ed63-4694-a2ad-e0a5d2c8ad63')
Key value for constraint (informix.pk_tbl_scheduleset) is still being referenced.
Command failed
출력에 표시된 것처럼, 사용자가 스케줄 테이블을 참조한다는 오류가 표시됩니다.
1단계. 다음 SQL 명령을 실행하여 일정 테이블에서 정보를 얻습니다. cuc dbquery unitydirdb select displayname, objectid from vw_scheduleset where owner_subscriberobjectid ="ObjectID_from_first_command"
admin:run cuc dbquery unitydirdb select displayname, objectid from vw_scheduleset where owner_subscriberobjectid ='644d3092-ed63-4694-a2ad-e0a5d2c8ad63'
displayname objectid
-------------------------------------------------------------- ------------------------------------
Notification Schedule for 645b0777-d6f4-4f99-9d1c-62916e8f0bb5 e44b5344-0889-4f75-8a6f-778eab98988e
2단계. 통지 일정 테이블에서 식별된 새 객체를 사용하여 사용자와 통지 장치 테이블 간의 참조를 삭제할 수 있습니다. subscriberobjectid="ObjectID_from_the_previous_command"인 tbl_notificationdevice에서 cuc dbquery unitydirdb delete를 실행합니다.
admin:run cuc dbquery unitydirdb delete from tbl_notificationdevice where subscriberobjectid='2a6ba228-cd2c-43fb-b43f-72ffb45b16b7'
Rows: 5
3단계. 사용자 컨피그레이션과 상호 참조가 없는지 확인합니다. 명령 실행: cuc dbquery unitydirdb select * from vw_subscriberreference where objectid IN (select objectid from vw_subscriber where alias = "user_alias")
admin:run cuc dbquery unitydirdb select * from vw_subscriberreference where objectid IN (select objectid from vw_subscriber where alias = "Lusky")
objectid displayname referencetype referrerobjectid referrerobjecttype
------------------------------------ ----------- ------------- ------------------------------------ ------------------
2a6ba228-cd2c-43fb-b43f-72ffb45b16b7 Lusky Recipient cbc63641-2eb6-4590-93a1-9bbdaeabbb63 3
4단계. 사용자가 SQL 쿼리를 사용하여 통화 처리기와 연결되어 있지 않은지 확인합니다. tbl_callaction에서 targethandlerobjectid IN인 경우 cuc dbquery unitydirdb select objectid를 실행합니다(vw_subscriber에서 callhandlerobjectid 선택, fn_tolower(alias) = fn_tolower("user_alias")).
admin:run cuc dbquery unitydirdb select objectid from tbl_callaction where targethandlerobjectid IN (select callhandlerobjectid from vw_subscriber where fn_tolower(alias) = fn_tolower("Lusky"))
No records found
참고: 레코드가 발견되면 run cuc dbquery unitydirdb delete from tbl_callaction where objectid="ObjectID_from_the_previous_command" 명령을 사용하여 참조를 삭제합니다.
5단계. 사용자가 SQL 쿼리를 사용하는 다른 확장의 자동 전화 교환 항목이 없는지 확인합니다. cuc dbquery unitydirdb를 실행합니다. objectid = (targethandlerobjectid IN인 vw_menuentry에서 callhandlerobjectid 선택(fn_tolower(alias) = lower("user_alias"))에서 vw_subscriber에서 callhandlerobjectid 선택)
admin:run cuc dbquery unitydirdb select displayname from vw_callhandler where objectid = (select callhandlerobjectid from vw_menuentry where targethandlerobjectid IN (select callhandlerobjectid from vw_subscriber where fn_tolower(alias) = lower('Lusky')))
No records found
참고: 레코드가 발견되면, 명령 run cuc dbquery unitydirdb delete from vw_callhandler where objectid="ObjectID_from_the_previous_command"로 참조를 삭제합니다.
6단계. 다음 명령을 사용하여 사용자가 메일 저장소 구성원의 일부인지 확인합니다. cuc dbquery unitydirdb select alias,objectid,object_globaluserobjectid from tbl_alias where object_globaluserobjectid="ObjectID_from_first_command"
admin:run cuc dbquery unitydirdb select alias,objectid,object_globaluserobjectid from tbl_alias where object_globaluserobjectid='813af2a0-fce7-42ad-ac4e-d150e769a26e'
alias objectid object_globaluserobjectid
----- ------------------------------------- ----------------------------------------
Lusky 96a1f758-432e-4b9e-ac89-daa0c06489ad 644d3092-ed63-4694-a2ad-e0a5d2c8ad63
Ansky 92eefd9-6ee0-4afc-9567-50726bf3b41f 644d3092-ed63-4694-a2ad-e0a5d2c8ad63
이와 같이 동일한 객체 식별자가 두 사용자에게 할당됩니다. 따라서 삭제할 별칭이 다른 두 번째 사용자의 삭제를 다음 명령으로 진행합니다.cuc dbquery unitydirdb select objectid,dtmfacessid from tbl_Globaluser where alias='second_user_alias'
관리자: cuc dbquery unitydirdb select objectid,dtmfacessid from tbl_Globaluser where alias='2861' 실행
행: 1
CUC Administration(CUC 관리) > Users(사용자) > Users(사용자) 페이지로 다시 이동하고 웹 GUI에서 삭제하려는 사용자를 삭제합니다.