zoukankan      html  css  js  c++  java
  • Oracle常见授权与回收权限——grant和revoke

     

     最近公司在做<高风险检视>回收一些有风险的权限。故顺便 总结一下权限相关的两个关键字grant on to ,revoke on from 相关用法,并给出一个实例
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    1.GRANT 赋于权限
    常用的系统权限集合有以下三个:
    CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理)

    常用的数据对象权限有以下五个:
    ALL ON 数据对象名, SELECT ON 数据对象名, UPDATE ON 数据对象名,
    DELETE ON 数据对象名, INSERT ON 数据对象名, ALTER ON 数据对象名

    GRANT CONNECT, RESOURCE TO 用户名;
    GRANT SELECT ON 表名 TO 用户名;
    GRANT SELECT, INSERT, DELETE ON表名 TO 用户名1, 用户名2;

    2.REVOKE 回收权限
    REVOKE CONNECT, RESOURCE FROM 用户名;
    REVOKE SELECT ON 表名 FROM 用户名;
    REVOKE SELECT, INSERT, DELETE ON 表名 FROM 用户名1, 用户名2;
     
    3.查看用户权限
     

    可参照另一篇文章:oracle用户具有的权限和角色
    select * from dba_sys_privs;
    select * from dba_tab_privs;
    SELECT DISTINCT(grantee) FROM dba_tab_privs;
    SELECT DISTINCT(owner) FROM dba_tab_privs;
    --TLOANCDE,TLOANDATA
    SELECT DISTINCT(privilege) FROM dba_tab_privs;
    /*
    FLASHBACK
    EXECUTE
    ALTER
    ON COMMIT REFRESH
    DEQUEUE
    DELETE
    UPDATE
    DEBUG
    QUERY REWRITE
    SELECT
    USE
    READ
    INSERT
    WRITE
    INDEX
    REFERENCES
    MERGE VIEW
    */

    SELECT * FROM dba_tab_privs
    WHERE owner = 'TLOANCDE' OR owner = 'TLOANDATA'
    ORDER BY grantee,table_name,privilege;

    SELECT *
    FROM dba_tab_privs
    WHERE owner = 'TLOANDATA' AND TABLE_NAME = 'DAMS_D10_SEQUENCE'

    4.实际案例

    -------------------------------------------------------------
    --(1).查看当前的 user下 某表的 权限--关注要删除的用户A的X权限
    SELECT *
    FROM dba_tab_privs
    WHERE owner = 'TLOANDATA' AND TABLE_NAME = 'DAMS_D20_SEQUENCE'
    --(2).执行 回收权限
    REVOKE alter on TLOANDATA.DAMS_D20_SEQUENCE from DEVSUP02;
    --(3).验证结果:关注要删除的A用户的X权限
    SELECT *
    FROM dba_tab_privs
    WHERE owner = 'TLOANDATA' AND TABLE_NAME = 'DAMS_D20_SEQUENCE'
    --(4).恢复测试环境数据
    GRANT alter on TLOANDATA.DAMS_D20_SEQUENCE TO DEVSUP02;
    --5.验证恢复无误,查询结果 同1
    SELECT *
    FROM dba_tab_privs
    WHERE owner = 'TLOANDATA' AND TABLE_NAME = 'DAMS_D20_SEQUENCE'

  • 相关阅读:
    PB中的函数ProfileString
    PB做大屏显示滚动窗口 [转载]
    PB对象(sqlca、sqlsa、sqlda)[转载]
    SQL中 EXCEPT、INTERSECT用法[转载]
    第一篇博客
    Intelli IDEA 炫酷插件
    概念总结
    秒杀系统(四)——异常处理和常量的处理
    秒杀系统(三)——实现哪些秒杀系统功能
    秒杀系统(二)
  • 原文地址:https://www.cnblogs.com/shoshana-kong/p/9167835.html
Copyright © 2011-2022 走看看