Oracle SQL:仅授予对用户A的访问权限,以访问其他用户B的过程和函数定义

时间:2019-07-18 06:23:47

标签: sql oracle procedure definition grant

我的要求是在oracle 11g数据库中创建一个用户,并为此用户授予以下权限。

  1. 选择任何表(这是固定的,我可以使用“选择任何表”特权来做到这一点)
  2. 查看所有数据库过程,函数,程序包的定义(无法执行此操作)。
  3. 我不想授予任何过程的执行权限,编辑权限或删除/删除权限。

无法找到任何提及的相关帮助,因为它提到授予执行或创建任何有风险的过程。

1 个答案:

答案 0 :(得分:1)

SELECT ANY DICTIONARY特权(在早期版本中为SELECT_CATALOG_ROLE角色)赋予用户从任何数据字典表中选择的特权。

SELECT ANY DICTIONARY特权将赋予用户特权,可针对DBA_SOURCE编写查询以查看任何对象的源(或使用DBMS_METADATA包),DBA_VIEWS来查看查看定义等。

干杯!