cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
7436
Views
45
Helpful
6
Replies

Cannot Delete User in Unity Connection

ianwarb
Level 1
Level 1

Hi Guys

I am having problems deleting specific users in Unity Connection; i constantly receive the error 'Status  Operation cannot be completed because the object is in use'. I am running version 2.0.1 and have noticed a few other members have posted resolutions to this problem. I have also try to follow the procedure described in the following document

http://www.cisco.com/en/US/products/ps6509/products_tech_note09186a0080b35d01.shtml

I have followed the following procedure on the CUCx command line:

admin:run cuc dbquery unitydirdb SELECT ObjectId from vw_User WHERE Alias = 'JoeBloggs'

1f664c53-3a06-44b9-bc5a-be3bb38d735d

then

admin:run cuc dbquery unitydirdb EXECUTE PROCEDURE csp_UserDelete (pObjectId = '1f664c53-3a06-44b9-bc5a-be3bb38d735d')

Key value for constraint (informix.pk_tbl_handler) is still being referenced.
Command failed

as you can see the final command failed and this is confirm when I try once again to delete the user from the administration page and get the same error message

please help

thanks

Ian

1 Accepted Solution

Accepted Solutions

Ian,

I would also suggest downloading CUDLI at http://www.ciscounitytools.com/Applications/CxN/CUDLI/CUDLI.html to get a visual of the actual database and all of the rows and relationships, etc.  Follow the Help to get CUDLI installed and connect up to your UC box and navigate to the vw_callaction table.  The result of your query is returning the "objectid" column, so just follow that over to the right and under the "targethandlerobjectid" just mouse over the entry and it should pop up the Display Name of what that targethandlerobjectid maps to.  Here's an example (click the image for a better view):

Your output was:

admin:run cuc dbquery unitydirdb select objectid from tbl_callaction  where targethandlerobjectid IN (select callhandlerobjectid from  vw_subscriber where alias='UserAlias')

973d70dd-eebd-43b7-a611-440fabaa8b4c
c1ad2f2c-9cd6-4ad2-8904-2afe231d6bd6
ed4f66aa-f073-4bf3-a81d-3c6aa5c7ac64
5e31a05c-ba9b-4414-b139-19413817a58e

So you'll want to find those 4 objectid's in the list and mouse over their corresponding targethandlerobjectid (hopefully they have one to make it easy)

Brad

View solution in original post

6 Replies 6

Bradford Magnani
Cisco Employee
Cisco Employee

Hi Ian,

You may want to try these queries.  It's possible that there was a call handler tied to this user at some point in time as a transfer call action that may not exist anymore, or may be still configured..

1. For each user that cannot be deleted, run the following query from the CLI replacing the user's alias for "UserAlias".
run cuc dbquery unitydirdb select objectid from tbl_callaction where targethandlerobjectid IN (select callhandlerobjectid from vw_subscriber where alias='UserAlias')

2. For each Call Action objectid returned by query #1, run the following query from the CLI replacing the objectid with the objectid of the Call Action returned in query #1.
run cuc dbquery unitydirdb delete from tbl_callaction where objectid='267db053-fff2-488c-af1d-98b3c70e5ea5'

3. Now go to the Cisco Unity Connection Administration and delete the User.

Hope that helps,

Brad

many thanks for the reply Brad. I ran the query you suggested which gave me the following output:

admin:run cuc dbquery unitydirdb select objectid from tbl_callaction where targethandlerobjectid IN (select callhandlerobjectid from vw_subscriber where alias='UserAlias')

973d70dd-eebd-43b7-a611-440fabaa8b4c
c1ad2f2c-9cd6-4ad2-8904-2afe231d6bd6
ed4f66aa-f073-4bf3-a81d-3c6aa5c7ac64
5e31a05c-ba9b-4414-b139-19413817a58e

then I ran the second set of commands but still received the following output

admin:run cuc dbquery unitydirdb delete from tbl_callaction where objectid='973d70dd-eebd-43b7-a611-440fabaa8b4c'

Key value for constraint (informix.pk_tbl_callaction) is still being referenced.
Command failed

admin:run cuc dbquery unitydirdb delete from tbl_callaction where objectid='c1ad2f2c-9cd6-4ad2-8904-2afe231d6bd6'

Key value for constraint (informix.pk_tbl_callaction) is still being referenced.
Command failed

admin:run cuc dbquery unitydirdb delete from tbl_callaction where objectid='ed4f66aa-f073-4bf3-a81d-3c6aa5c7ac64'

Key value for constraint (informix.pk_tbl_callaction) is still being referenced.
Command failed

admin:run cuc dbquery unitydirdb delete from tbl_callaction where objectid='5e31a05c-ba9b-4414-b139-19413817a58e'

Key value for constraint (informix.pk_tbl_callaction) is still being referenced.
Command failed

would you be able to tell me why I am still getting this and how I can overcome the problem?

thanks

Ian

Ian,

This means that the entries wherever they are in the database are not orphaned, so they're still tied to other tables in the database, which is why they can't be deleted.  The trick is finding where given the fact that the GUI sadly doesn't point out where the referenced objects are.  It's going to be some trial and error with some database queries.  See the following defect for the list of queries you can use to try and locate where the references are.

http://tools.cisco.com/Support/BugToolKit/search/getBugDetails.do?method=fetchBugDetails&bugId=CSCsv34638

Brad

Ian,

I would also suggest downloading CUDLI at http://www.ciscounitytools.com/Applications/CxN/CUDLI/CUDLI.html to get a visual of the actual database and all of the rows and relationships, etc.  Follow the Help to get CUDLI installed and connect up to your UC box and navigate to the vw_callaction table.  The result of your query is returning the "objectid" column, so just follow that over to the right and under the "targethandlerobjectid" just mouse over the entry and it should pop up the Display Name of what that targethandlerobjectid maps to.  Here's an example (click the image for a better view):

Your output was:

admin:run cuc dbquery unitydirdb select objectid from tbl_callaction  where targethandlerobjectid IN (select callhandlerobjectid from  vw_subscriber where alias='UserAlias')

973d70dd-eebd-43b7-a611-440fabaa8b4c
c1ad2f2c-9cd6-4ad2-8904-2afe231d6bd6
ed4f66aa-f073-4bf3-a81d-3c6aa5c7ac64
5e31a05c-ba9b-4414-b139-19413817a58e

So you'll want to find those 4 objectid's in the list and mouse over their corresponding targethandlerobjectid (hopefully they have one to make it easy)

Brad

many thanks for such a great response Brad, i will try this. Much appreciated

Rob Huffman
Hall of Fame
Hall of Fame

Hey Brad,

I must agree with Ian here, this is an awesome answer my friend! +5

Sorry to see you have to work on Thanksgiving

Cheers!

Rob

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: