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