>How can this query to find objects ( owned by User A) that have no >private synonyms (for User B) be improved upon Joe Assuming I've understood the question correctly, you can just take the objects (including program units) that are owned by user A, and subtract (MINUS) the synonyms owned by B that reference those objects in A. select object_name, owner from dba_objects where owner = 'A' minus select table_name,table_owner from dba_synonyms where owner = 'B' / Regards Nigel