ny3259 发表于 2018-9-9 10:58:08

Oracle创建用户设置权限

  create user TEST>  default tablespace USERS
  temporary tablespace TEMP
  profile DEFAULT;
  grant connect,create view ,resourceto TEST;
  grant unlimited tablespace to TEST;
  --管理员授权
  grant create session to TEST;--授予TEST用户创建session的权限,即登陆权限
  grant unlimited session to TEST;--授予TEST用户使用表空间的权限
  grant create table to TEST;--授予创建表的权限
  grant drop table to TEST;--授予删除表的权限
  grant insert table to TEST;--插入表的权限
  grant update table to TEST;--修改表的权限
  grant all to public;--这条比较重要,授予所有权限(all)给所有用户(public)
  --oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的
  grant select on tablename to TEST;--授予TEST用户查看指定表的权限
  grant drop on tablename to TEST;--授予删除表的权限
  grant insert on tablename to TEST;--授予插入的权限
  grant update on tablename to TEST;--授予修改表的权限
  grant insert(id) on tablename to TEST;
  grant update(id) on tablename to TEST;--授予对指定表特定字段的插入和修改权限,注意,只能是insert和update
  --撤销权限
  基本语法同grant,关键字为revoke
  --查看权限
  select * from user_sys_privs;--查看当前用户所有权限
  select * from user_tab_privs;--查看所用用户对表的权限
  --操作表的用户的表
  /*需要在表名前加上用户名,如下*/
  --权限传递
  即用户A将权限授予B,B可以将操作的权限再授予C,命令如下:
  grant alert table on tablename to TEST with admin option;--关键字 with admin option
  grant alert table on tablename to TEST with grant option;--关键字 with grant option效果和admin类似
  --角色
  角色即权限的集合,可以把一个角色授予给用户
  create role myrole;--创建角色
  grant create session to myrole;--将创建session的权限授予myrole
  grant myrole to TEST;--授予TEST用户myrole的角色
  drop role myrole;删除角色
  /*但是有些权限是不能授予给角色的,比如unlimited tablespace和any关键字*/

页: [1]
查看完整版本: Oracle创建用户设置权限