码迷,mamicode.com
首页 > 数据库 > 详细

SQL高级部分一(控制用户权限)

时间:2015-02-13 09:45:52      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:

创建用户

SQL> create user 用户名
  2  identified by 密码;
赋予用户权限
SQL> GRANT create table,create view,create sequence , create session --权限
  2  TO 用户名;
用户拥有创建表权限后,还需要赋予用户表空间才能创建表
ALTER USER 用户名 QUOTA 空间大小
ON 什么表
SQL> ALTER USER wang QUOTA unlimited 
  2  ON users;
PS:unlimited无限制,也可以指定多少K。

角色:当不使用角色时,有3个人需要3个权限,就必须把每个权限都赋予用户,而使用角色,就可以把这三个权限都赋予角色,直接把角色赋予用户
创建角色


CREATE ROLE 角色;
SQL> create role wang1;
给角色赋予权限
SQL> GRANT create table,create session , create view
  2  TO wang1;


将角色赋予用户
GRANT 角色 TO 用户;

DBA 可以创建用户和修改密码
用户本人可以使用 ALTER USER 语句修改密码
ALTER USER 用户名			  
IDENTIFIED BY 新密码;
alter user wang
identfitied by wang

对象权限
不同的对象具有不同的对象权限
对象的拥有者拥有所有权限
对象的拥有者可以向外分配权限

DBA拥有scott对象,那么DBA就可以把scott对象的权限赋给其他

GRANT	object_priv [(columns)]权限
ON	object     对象
TO	{user|role|PUBLIC} 用户/角色/所有用户

--WITH GRANT OPTION 使用户同样具有分配权限的权利,简单说,我分享给你了,我允许你也可以分享给别人


分配scott的employees表的查询权限给用户wang

SQL> grant select 
  2  on scott.employees
  3  to wang;

收回对象权限
使用 REVOKE 语句收回权限
使用 WITH GRANT OPTION 子句所分配的权限同样被收回
REVOKE {privilege [, privilege...]|ALL}
ON	  object

FROM   {user[, user...]|role|PUBLIC}
[CASCADE CONSTRAINTS];
SQL示例
SQL> revoke select 
  2  on scott.employees
  3  from wang;


SQL高级部分一(控制用户权限)

标签:

原文地址:http://blog.csdn.net/wjw0130/article/details/43791429

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!