欢迎投稿

今日深度:

对package的授权解析

对package的授权解析


对于有同事报case上来,想要添加对包的查看、执行、调试、替换、debug等权限。 下面我整理了一下,什么权限可以做什么。
首先我们对这类授权,有以下三个维度: 包头、包体 查看、执行、编译、替换、debug 对某个包有权限,还是对所有包有权限。 1.查看权限 grant create any procedure to fwy3; 从字面意义上,是创建any procedure的权限。但除了创建过程外,还可以起到查看任何package包头包体代码的效果。 有查看、没有执行、编译、替换权限。 2.执行权限 grant execute any procedure to fwy3; grant execute on scott.package_1 to fwy; 赋予执行权限。 能看包头看不到包体,能执行,不能编译,不能替换。 3.编译权限 grant alter any procedure to fwy3; 此时用户有编译权限,编译任何的procedure,function,package与package body,如: alter procedure New_procedure compile ; alter function New_function compile ; alater package package_name compile [package|body]; 没有查看、执行、有编译、没有替换权限。 对于编译权限,只能依据原来的代码进行编译,而不能用新的代码。 4.替换权限 当查看权限与编译权限结合,即第1与第3点都有的时候,就能起有替换的权限。替换是要有编译以及需要看到它。 5.debug权限。 grant debug any procedure to fwy3; --系统权限 grant debug on dbmgr.PKG_AUDIT_RULE to fwy;--对象权限 grant DEBUG CONNECT SESSION to fwy3; --系统权限 如果用的是plsql developer工具,还得点对象邮件-添加调试信息,才能debug。

www.htsjk.Com true http://www.htsjk.com/shujukunews/502.html NewsArticle 对package的授权解析 对于有同事报case上来,想要添加对包的查看、执行、调试、替换、debug等权限。 下面我整理了一下,什么权限可以做什么。 首先我们对这类授权,有以下三个维度:...
相关文章
    暂无相关文章
评论暂时关闭