创建用户
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;
时间: 2024-11-07 13:00:56