gaofeng0210 发表于 2018-9-23 13:17:58

oracle权限总结

  oracle权限分为系统权限和对象权限;
  系统权限主要是指用户对系统的使用权限,如CREATE SESSION、CREATE TABLE、CREATE ANY TABLE等等,这里要特别说明下DROP TABLE不是系统权限,也没有这个权限,可能是因为oracle认为你有了CREATE TABLE的权限,默认就给你DROP TABLE。但DROP ANY TABLE这个系统权限是有的。
  对象权限主要是对对象操作的权限,如select、update、insert、delete等等。
  系统权限的赋权
  grant 系统权限 to 用户名
  with admin option是可选的,加上这个的话,你赋权的用户可以将这个系统权限赋给其他用户。缺省是不行的。
  多个权限和对象可以用逗号分隔。
  对象权限的赋权
  grant 对象权限 on 对象名称 to 用户名
  with grant option是可选的,注意这里与系统权限的不同,加上这个的话,你赋权的用户可以将这个对象权限赋给其他用户。缺省是不行的。
  多个权限和对象可以用逗号分隔。
  系统权限的回收
  revoke 系统权限 from 用户名
  系统权限with admin option不支持级联收回,支持跨级收回。
  对象权限的回收
  revoke 对象权限 from 用户名
  系统权限with admin option不支持跨级收回,支持级联收回。
  这里解释下跨级回收和级联回收
  例如有3个用户,a、b、c
  a给b赋了系统权限和对象权限,b给c赋了系统权限和对象权限。
  当a回收b的系统权限时,c的系统权限保持不变,这就叫不支持级联回收;
  当a回收了c的系统权限时,就叫跨级回收;
  当a回收b的对象权限时,c的对象权限同时会被收回,这就是级联回收;
  a用户不能回收c用户的对象权限,这就叫不支持跨级回收。
  系统权限表
  SYSTEM_PRIVILEGE_MAP
  里面包含了所以系统权限
  用户系统权限视图
  dba_sys_privs
  user_sys_privs
  用户对象权限视图
  dba_tab_privs
  user_tab_privs

页: [1]
查看完整版本: oracle权限总结