从 Oracle DB 获取模式抛出错误

Getting Schemas from Oracle DB throwing error

这个查询

select distinct owner from dba_objects

正在抛出此错误

ORA-00942: table or view does not exist

这有什么意义吗?

如果您在 DBA_OBJECTS 视图上没有 select 权限,或者如果您没有 SYS.DBA_OBJECTS 视图的本地或全局同义词,它会执行此操作。您可以尝试从 SYS.DBA_OBJECTS 中 selecting。

您必须使用管理员用户(例如 syssystem)。如果您无权访问此类用户,则可以使用 all_objects 视图而不是 dba_obejcts。任何用户都可以查询它,并且只会得到它有权限的对象的结果。

正如其他人所说,这是一个权限问题。

但是,如果用户需要访问特权更高的 DBA 数据字典对象,您应该授予他们 SELECT_CATALOG_ROLE 角色。对于正常操作,不鼓励使用 SYS 或 SYSTEM 连接,甚至作为 DBA。