ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle的权限管理的总结

oracle的权限管理的总结

原创 Linux操作系统 作者:zhengzhuocai 时间:2011-11-29 10:41:11 0 删除 编辑
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的权限
CONNECT角色:
--是授予最终用户的典型权利,最基本的
ALTER  SESSION          --修改会话
CREATE  CLUSTER         --建立聚簇
CREATE  DATABASE LINK   --建立数据库链接
CREATE  SEQUENCE        --建立序列
CREATE  SESSION       --建立会话
CREATE  SYNONYM        --建立同义词
CREATE  VIEW          --建立视图
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查询任何表;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25166402/viewspace-712292/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-08-30

  • 博文量
    3
  • 访问量
    1296