此查询
select distinct owner from dba_objects
抛出此错误
ORA-00942: table or view does not exist
这有什么意义吗?
答案 0 :(得分:1)
如果您在DBA_OBJECTS视图中没有select privs,或者您没有SYS.DBA_OBJECTS视图的本地或全局同义词,则会执行此操作。您可以尝试从SYS.DBA_OBJECTS中进行选择。
答案 1 :(得分:1)
您必须使用管理用户(例如sys
或system
)。如果您无权访问此类用户,则可以使用all_objects
视图而非dba_obejcts
。任何用户都可以查询它,并且只会获得它有权使用的对象的结果。
答案 2 :(得分:1)
正如其他人所说,这是一个特权问题。
但是,如果用户需要访问权限更高的DBA数据字典对象,则应授予他们SELECT_CATALOG_ROLE角色。不建议使用SYS或SYSTEM,甚至是DBA连接正常操作。