Top Secret UID pointers are out of Sync

Document ID : KB000122860
Last Modified Date : 11/12/2018
Show Technical Document Details
Question:
How can the UID pointers be synced with the security database file?
 
Answer:
Issue from the Console: 'F TSS,OMVSTABS' to rebuild the OMVS UID table. 

Also things to check:
Broken WHOHAS Pointers Are Showing False UID Ownership

Symptom:
When I issue the WHOHAS command, the output shows ACID UID ownership that does not match the ownership from LIST command output for the ACID.

This type of error can occur if an ACID’s UID was not removed before deleting the ACID. If a subsequently created ACID reuses the same ACID number, the UID discrepancy can begin occurring.

Tips!
To prevent this problem from occurring, always remove an ACID’s UID before deleting the ACID.
For CA Top Secret Version 16, applying PTFs RO79659 and RO97814 resolves this problem.
Example: Issuing TSS WHOHAS UID(60) returns results indicating that ACID HANK1 has UID(60):

UID = 0000000060 OWNER(HANK1)

However, issuing a LIST command for HANK1 shows that this ACID actually has UID(724):

UID = 0000000724

Solution:
For CA Top Secret Version 16, apply PTFs RO79659 and RO97814 to resolve this problem; otherwise, perform the following procedure to resolve the broken pointers.

Follow these steps:
Make a note of the incorrect UID showing up in WHOHAS.
Remove the current UID ownership shown in LIST:

TSS REMOVE(acid) UID(uid_from_LIST)
This clears the current UID assignment.

Add the UID that you noted in Step 1, incorrectly shown in WHOHAS:
 TSS ADD(acid) UID(incorrect_uid_from_WHOHAS)
Remove the incorrect UID:
 TSS REMOVE(acid) UID(incorrect_uid_from_WHOHAS)
Re-add the correct UID ownership that you want:
TSS ADD(acid) UID(correct_uid)
List the ACID to ensure it shows the correct ownership.
Issue the WHOHAS command to verify that pointers are now correct:

TSS WHOHAS UID(correct_uid)
Examine the output to ensure accuracy. For example, after reassigning ACID HANK1 ownership to UID 724, you can see the successful output in the WHOHAS output for this ACID:

UID = 0000000724 OWNER(HANK1)
WHOHAS queries for the previously incorrect UID should no longer produce matches for that ACID.

Example: Repair Broken WHOHAS Pointers Showing False UID Ownership
WHOHAS is showing UID 60 for HANK1, while LIST shows UID 724. You need to correct broken WHOHAS pointers so that UID 724 appears in WHOHAS output for HANK1.

To resolve the problem, you remove UID 724 from HANK1, then add and remove 60. Finally, you re-add 724 (the correct UID) to HANK1 and review WHOHAS output again to verify results.