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权限给某个用户,就可以实现只授予用户查看存储过程定义的权限,而限制用户修改、执行存储过程。从而达到只授权用户查看存储过程定义的权限。

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

  • 相关阅读:
    要打印
    1月21日
    弹出层layer的使用
    Python学习笔记文件操作list列表操作
    Python学习笔记控制流之布尔值
    Python学习笔记控制流之操作运算符
    Python学习笔记字符串
    Python学习笔记list_to_str列表转字符串
    DropDownList 下拉无限极分类代码
    Jquery 基础教程测试
  • 原文地址:https://www.cnblogs.com/guipeng/p/7027382.html
Copyright © 2011-2022 走看看