select * from dba_synonyms where not exists (select 1 from all_objects where owner = table_owner and object_name = table_name ) order by owner / prompt; select 'drop public synonym ' || synonym_name || ';' from dba_synonyms where not exists (select 1 from all_objects where owner = table_owner and object_name = table_name ) and table_owner = 'SYSMAN' order by owner /