ALL_OBJECTSビューをクエリできます:
select owner
, object_name
, object_type
from ALL_OBJECTS
where object_name = 'FOO'
同義語を見つけるには:
select *
from ALL_SYNONYMS
where synonym_name = 'FOO'
明確にするために、ユーザーの場合 ユーザーのSQL文は、スキーマ修飾のないオブジェクト名(「FOO」など)を参照します。OracleFIRSTは、ユーザーのスキーマでその名前のオブジェクト(そのユーザーのスキーマの同義語を含む)をチェックします。 Oracleがユーザーのスキーマからの参照を解決できない場合、Oracleはパブリックシノニムをチェックします。
特定のtable_nameの制約を具体的に探している場合:
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
-補遺:
ユーザーにDBA_ビューへのアクセスが許可されている場合(たとえば、ユーザーにSELECT_CATALOG_ROLEが許可されている場合)、「DBA_
」に置き換えることができます。 'ALL_
の代わりに' 上記のSQLの例の'。 ALL_x
ビューには、特権が付与されているオブジェクトのみが表示されます。 DBA_x
ビューには、権限があるかどうかに関係なく、すべてのデータベースオブジェクトが表示されます。