Vous pouvez interroger la vue ALL_OBJECTS :
select owner
, object_name
, object_type
from ALL_OBJECTS
where object_name = 'FOO'
Pour trouver des synonymes :
select *
from ALL_SYNONYMS
where synonym_name = 'FOO'
Juste pour clarifier, si un utilisateur l'instruction SQL de l'utilisateur fait référence à un nom d'objet sans qualification de schéma (par exemple, "FOO"), Oracle FIRST vérifie le schéma de l'utilisateur pour un objet de ce nom (y compris les synonymes dans le schéma de cet utilisateur). Si Oracle ne peut pas résoudre la référence à partir du schéma de l'utilisateur, Oracle recherche alors un synonyme public.
Si vous recherchez spécifiquement des contraintes sur un table_name particulier :
select c.*
from all_constraints c
where c.table_name = 'FOO'
union all
select cs.*
from all_constraints cs
join all_synonyms s
on (s.table_name = cs.table_name
and s.table_owner = cs.owner
and s.synonym_name = 'FOO'
)
HTH
-- addendum :
Si votre utilisateur a accès aux vues DBA_ (par exemple, si votre utilisateur a reçu SELECT_CATALOG_ROLE), vous pouvez remplacer 'DBA_
' à la place de 'ALL_
' dans les exemples SQL précédents. Le ALL_x
les vues ne montrent que les objets pour lesquels vous avez reçu des privilèges. Le DBA_x
les vues afficheront tous les objets de la base de données, que vous ayez ou non des privilèges sur eux.