Sie können die Ansicht ALL_OBJECTS abfragen:
select owner
, object_name
, object_type
from ALL_OBJECTS
where object_name = 'FOO'
So finden Sie Synonyme:
select *
from ALL_SYNONYMS
where synonym_name = 'FOO'
Nur zur Verdeutlichung, ob ein user Wenn die SQL-Anweisung des Benutzers auf einen Objektnamen ohne Schemaqualifikation verweist (z. B. „FOO“), prüft Oracle ZUERST das Schema des Benutzers auf ein Objekt mit diesem Namen (einschließlich Synonymen im Schema dieses Benutzers). Wenn Oracle die Referenz aus dem Schema des Benutzers nicht auflösen kann, sucht Oracle nach einem öffentlichen Synonym.
Wenn Sie speziell nach Einschränkungen für einen bestimmten Tabellennamen suchen:
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
-- Nachtrag:
Wenn Ihrem Benutzer Zugriff auf die DBA_-Ansichten gewährt wird (z. B. wenn Ihrem Benutzer SELECT_CATALOG_ROLE gewährt wurde), können Sie 'DBA_
ersetzen ' anstelle von 'ALL_
' in den vorhergehenden SQL-Beispielen. Der ALL_x
Ansichten zeigen nur Objekte, denen Sie Privilegien gewährt haben. Der DBA_x
Ansichten zeigen alle Datenbankobjekte, unabhängig davon, ob Sie Zugriffsrechte darauf haben oder nicht.