zoukankan      html  css  js  c++  java
  • Oracle-分配用户只读存储过程权限

    系统新来了系统运维人员,要求创建数据库账号,只分配对表,视图,存储程序有只读权限

    因为表和视图权限接触比较频繁,所以今天花点时间整理下关于存储过程的权限

    关于ORACLE账号的权限问题,一般分为两种权限:

              

          系统权限: 允许用户执行特定的数据库动作,如创建表、创建索引、创建存储过程等

          对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列、执行存储过程等

    像这种查看存储过程定义的权限为对象权限,但是我们还是首先来看看关于存储过程的系统权限吧:

    上图所示关于存储过程的系统权限一共有六种:

    CREATE PROCEDURE、创建存储程序

    CREATE ANY PROCEDURE、 创建任何存储程序

    ALTER ANY PROCEDURE、更改任何存储程序

    DROP ANY PROCEDURE、删除任何存储程序

    EXECUTE ANY PROCEDURE、执行任何存储程序

    DEBUG ANY PROCEDURE.查看定义任何存储程序

    做个试验验证下存储过程的对象权限

    将STG用户下的存储程序FP_SO的权限赋给新建用户ZMM,ZMM初始赋给的权限有connect和resource

    从上图所示:存储程序的对象全乡有EXECUTE和DEBUG两种:

    试着将所有的权限回收,然后单独赋予ZMMexecute和debug权限

    1,REVOKE ALL ON FP_SO FROM ZMM;

         GRANT EXECUTE ON FP_SO TO ZMM;

    2,REVOKE ALL ON FP_SO FROM ZMM;

        GRANT EXECUTE ON FP_SO TO ZMM;

    经验证,execute有查看和执行的权限

               debug只有查看的权限

    所以,只需要授予存储过程的DEBUG权限给某个用户,就可以实现只授予用户查看存储过程定义的权限,而限制用户修改、执行存储过程。从而达到只授权用户查看存储过程定义的权限。

    不用纠结包和包体,只要赋予相关存储过程权限,包和包体都有相关的权限

  • 相关阅读:
    HDU4507 吉哥系列故事――恨7不成妻(数位dp)
    UCF Local Programming Contest 2017 G题(dp)
    ICPC Latin American Regional Contests 2019 I题
    UCF Local Programming Contest 2017 H题(区间dp)
    HDU2089 不要62
    AcWing1084 数字游戏II(数位dp)
    UCF Local Programming Contest 2017 F题(最短路)
    Google Code Jam 2019 Round 1A Pylons(爆搜+贪心)
    AcWing1083 Windy数(数位dp)
    Vue
  • 原文地址:https://www.cnblogs.com/guipeng/p/7027382.html
Copyright © 2011-2022 走看看