引言:学会在Oracle中如何创建表空间后,就要学会怎么去给用户分配这些表空间的使用,即给用户使用、查看的权限。
1.创建用户
create user username identified by password;
2.创建并给用户分配表空间
create user username identified by 1223456 default tablespace tablespacename temporary tablespace temp_tablespacename;
3.删除用户
# 用户下没有任何对象 drop user xxx # 用户下存在对象,必须加cascade删除用户下所有对象。 drop user xxx cascade
4.锁定/解锁用户(可以不删除用户,拒绝用户连接)
alter user username account lock/unlock;
5.修改用户密码
alter user username identified by password;
6.查看当前用户的相关信息(用户名、默认表空间…)
select * from user_users;
一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。用户与表空间没有隶属关系。
用户权限有系统权限和对象权限两种。系统权限即数据库的使用权限,只能由DBA用户(sys,system)授出。用户权限包括:
对象权限是某种权限用户对其他用户的表或视图的存取权限,它允许用户对一些特定的对象,进行更新、插入等操作。对象权限包括:
1.给用户授予系统权限 √ connect,resource…
grant privilege to username
2.给用户授予对象权限 √select ,update,insert…
grant select on tablename to username
3.撤销用户权限
# 撤销系统权限 revoke connect from username; # 撤销对象权限 revoke select on tablename from username
4.给用户授予系统权限并拥有授予其他用户的权利。例如授权给A ,A可以授权给B。撤销A的权限后,B不会受到影响
。
# with admin option只能用于系统权限授权 grant privilege to username with admin option
5.给用户授予对象权限并拥有授权给其他用户的权利。撤销权限级联,如给A授权后,A授权给B。撤销A的权限后,B的权限也会撤销。注意不能直接撤销B的权限!
# with grant option只能用于给对象权限授权 grant select on tablename to username with grant option
用户角色
角色就是一组权限,更加方便权限管理。例如给多个用户