我需要做的是创建oracle用户,它将只看到过程和函数头,没有主体。
你知道我如何才能做到这一点吗?应该设置什么样的权限?
发布于 2011-05-20 17:26:05
使用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;更新:这不适用于未打包的函数和过程。我不认为你可以用常规的函数/过程来分离头部和主体。
如果您使用常规函数和过程,则可以授予select on dba_arguments权限,这将使您能够访问所有函数/过程参数。
发布于 2011-05-20 16:33:47
我甚至不确定这是否可能。作为变通办法,您可以在您的用户有权访问的模式中创建“外观”过程,然后将工作委托给您的用户没有访问权限的另一个模式中的过程。但这是对数据库设计的一种非常侵入性的修改。
https://stackoverflow.com/questions/6069293
复制相似问题