要查看其他架构中的所有表,您需要具有以下一个或多个系统权限:
SELECT ANY DICTIONARY
(SELECT | INSERT | UPDATE | DELETE) ANY TABLE
或者大锤子,DBA的角色.
使用其中任一选项,您可以 Select :
SELECT DISTINCT OWNER, OBJECT_NAME
FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
AND OWNER = '[some other schema]'
如果没有这些系统权限,您只能查看被授予某种级别访问权限的表,无论是直接访问还是通过角色访问.
SELECT DISTINCT OWNER, OBJECT_NAME
FROM ALL_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
AND OWNER = '[some other schema]'
最后,您可以随时在数据字典中查询自己的表,因为您对表的权限不能被撤销(从10g开始):
SELECT DISTINCT OBJECT_NAME
FROM USER_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'