zoukankan      html  css  js  c++  java
  • Oracle 权限管理

     
    Oracle的权限有三种类型:
    Object privileges    对象权限
    Role privileges       角色权限
    System privileges  系统权限
     
    (一)、对象权限
     
    一般来说的,对象权限,是针对一个用户对某些表,视图,函数,存储过程的访问权限
    grant select, insert, update, delete on test_table to test_user;             赋予用户test_user对表test_table增删改查权限
     
    grant execute on F_zsd_test to test_user;
    grant execute on PRO_zsd_test to test_user;                                    赋予用户test_user对函数和存储过程的执行权限
     
    grant select, insert, update, delete on VIEW_P_test to test_user;        对视图VIEW_P_test增删改查权限
     
     
    (二)、角色权限,最基础的是connect与resource的权限

    (1). CONNECT角色: 
    --是授予最终用户的典型权利,最基本的
    ALTER  SESSION                  --修改会话
    CREATE  CLUSTER            --建立聚簇
    CREATE  DATABASE LINK    --建立数据库链接
    CREATE  SEQUENCE          --建立序列
    CREATE  SESSION                --建立会话
    CREATE  SYNONYM               --建立同义词
    CREATE  VIEW                     --建立视图
     
    (2). RESOURCE 角色:    --是授予开发人员的
    CREATE  CLUSTER        --建立聚簇
    CREATE  PROCEDURE   --建立过程
    CREATE  SEQUENCE     --建立序列
    CREATE  TABLE           --建表
    CREATE  TRIGGER       --建立触发器
    CREATE  TYPE             --建立类型
     
    从dba_sys_privs里可以查到(注意这里必须以DBA角色登录):
    select * from dba_sys_privs t where t.grantee='RESOURCE' order by priilege;         可以查看resource角色的权限
    select * from dba_sys_privs t where t.grantee='CONNECT'   order by priilege;         可以查看connect角色的权限
     
    所以,一般在企业中,对一般用户,只会赋予connect的权限,让他只有一些看,和链接数据库的操作。拥有自己的会话
    对开发人员,就会connect和resource都会赋予,因为,给予开发人员可以create。
     
    (三)、系统权限

    系统权限,会对所有的对象进行限制(例如,存储过程,表,簇,用户,序列等等)
    grant create any cluster   to test;
    grant create any index     to test;
    grant create any procedure to test;
    grant create any role      to test;
    grant create rollback segment to test;
    grant create any sequence  to test;
    grant create any synonym   to test;
    ......
    可以查看相关系统权限列表
     
    使用场景:
    当你配置了一个生产库,要一个用户test的时候,这个用户只是只读用户,那么
    就一般会给他一个select any table的系统权限
    grant select any table to test;                     就是赋予用户test查询任何表;
     
    以上为个人笔记,学习用。
     
     
  • 相关阅读:
    web前端技术社区分享
    programming-challenges Shoemaker's Problem (110405) 题解
    caffe 训练測试自己的数据集
    BootStrap有用代码片段(持续总结)
    H5学习_番外篇_PHP数据库操作
    WPF-MVVM-Demo
    android Toast大全(五种情形)建立属于你自己的Toast
    Java
    记一次死锁问题的排查和解决
    一步一步跟我学习lucene(19)---lucene增量更新和NRT(near-real-time)Query近实时查询
  • 原文地址:https://www.cnblogs.com/fengaix6/p/3866241.html
Copyright © 2011-2022 走看看