你的位置:首页 > 数据库

[数据库]Oracle创建用户设置权限


(转:http://www.cnblogs.com/yangy608/archive/2011/08/22/2148893.html)

create user TEST identified by "TEST"  --创建TEST用户

  default tablespace USERS

  temporary tablespace TEMP

  profile DEFAULT;

  

  

grant connect,create view ,resource  to 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关键字*/