【发布时间】:2011-08-29 11:36:42
【问题描述】:
我需要做的是创建 oracle 用户,它只会看到过程和函数的标题,而没有正文。
知道如何实现这一点,应该设置什么样的权限?
【问题讨论】:
-
用户应该能够执行这些程序和功能吗?
标签: oracle privileges
我需要做的是创建 oracle 用户,它只会看到过程和函数的标题,而没有正文。
知道如何实现这一点,应该设置什么样的权限?
【问题讨论】:
标签: oracle privileges
使用 DBA 帐户创建视图并在此视图上授予 SELECT 应该可以工作:
CREATE VIEW dba_source_pkg_headers AS
SELECT *
FROM dba_source
WHERE type = 'PACKAGE';
GRANT select ON dba_source_pkg_headers TO your_user;
更新:这不适用于未打包的函数和过程。我不认为你可以用常规的函数/过程来分离标题和正文。
如果您使用常规函数和过程,您可以在dba_arguments 上授予选择权限,这样您就可以访问所有函数/过程参数。
【讨论】:
我不确定这是否可能。作为一种解决方法,您可以在您的用户有权访问的模式中创建“外观”过程,然后将工作委派给您的用户无权访问的另一个模式中的过程。但这对您的数据库设计来说是一个相当侵入性的修改。
【讨论】: