以普通用户身份连接时在不授予特权的情况下在Oracle数据库中收集dba_users信息

时间:2019-03-12 11:34:36

标签: database oracle privileges

我想查询DBA_USERs以识别sys和非sys用户/方案。但是,我的客户端应用程序无法以SYS用户身份进行连接,因此无法直接查询dba_users。我无法如答案-> gather dba_users information in Oracle database when connected as a user中所述向用户授予特权,因为它是安全缺陷。

进一步调查,我发现all_users包含的数据与dba_users相同,但没有。列(以及较少的详细信息)。

因此,我使用了以下查询-

SELECT distinct owner 
FROM all_tables 
where owner IN (SELECT username FROM all_users) 
and tablespace_name not in ('SYSTEM','SYSAUX')

我能够以普通用户或非系统用户身份运行此查询。

这完成了吗?我想继续在我的生产代码中使用此查询。任何人都可以指出使用此查询(通过使用all_users而不是dba_users)可能会丢失的任何潜在问题或数据。预先感谢。

0 个答案:

没有答案