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

Oracle SQL : Grant View only access to a user A for accessing procedure and function definition of other user B

我的需求是在oracle 11g数据库中创建一个用户,并赋予该用户以下权限。

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

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

SELECT ANY DICTIONARY 权限(在早期版本中为 SELECT_CATALOG_ROLE 角色)授予用户从任何数据字典 table.

到 select 的权限

SELECT ANY DICTIONARY 权限将授予用户针对 DBA_SOURCE 编写查询的权限,以查看任何对象的源代码(或使用 DBMS_METADATA 包),DBA_VIEWS查看视图定义等

干杯!!