如何将一个用户下所有函数的执行权限赋予另外一个用户
在网上查了,grant execute on functionname touser 是将一个函数执行权限赋予一个用户,但是这种方法不实用,一是只能一个一个授权,另外一个是新增函数又要再次授权。有一个简便的方法吗?SELECT 'grant execute on ' || owner || '.' || object_name || ' to 目标用户;'
FROM dba_objects
WHERE owner = UPPER ('源用户')
AND object_type IN
(UPPER ('package'),
UPPER ('type'),
UPPER ('PROCEDURE'),
UPPER ('FUNCTION'));
用DBA用户执行结果
回复 kimm_yong 的帖子
这个方法我想过,但是如果有新的function又要赋值。能一次解决吗? 没有很好的办法,因为这正是ORACLE的安全原则:最小权限原则。
当然,你可以授予那个用户execute any package, procedure等的权限,但是明显不符合你的要求。 回复 kevin.zhang 的帖子
为什么表、存储过程、包都能用any,function反而不能呢。奇怪啊
谢谢你!
页:
[1]