【发布时间】:2013-07-18 19:03:40
【问题描述】:
是否可以检查其他 ORACLE 用户是否能够运行特定查询?此检查需要由 ADMIN 帐户执行。
原因是我们有使用 ADMIN 帐户运行的进程。非管理员可以向这些进程提交查询,因此我们希望能够在进程执行期间确认用户是否能够自己运行查询,如果不能,则结束执行。
另一个方面是进程是由Java程序控制的,所以如果Oracle没有办法做到这一点,也许Java/JDBC有解决方案?
Java:1.5 甲骨文:10.2+ 涉及的所有表都是 ADMIN 模式的一部分,并且通过 SELECT/INSERT/UPDATE/DELETE 表 GRANTS 控制访问。
希望我已经足够清楚了
【问题讨论】:
-
也许我过于简单化了,但您不会只需要 1 个以上的 ADMIN 连接到数据库吗? (如果用户是管理员,则以 ADMIN 身份连接,否则以功能较弱的用户身份连接,NON_ADMIN 或其他)。
-
代理身份验证可能是值得尝试的。
-
@a_horse_with_no_name 很好的建议,谢谢。顺便说一句,关于代理身份验证的Oracle docs,读起来很有趣。