1. 创建用户
在oracle创建一个新的用户,一般是dba(数据库管理员)才具有的权限。
create user 用户名 identified by 密码
注:创建好用户以后,没有任何权限,连登陆的权限都没有,需要dba授权才行。
2. 给用户修改密码
1)如果给自己修改密码可以直接使用 passw 命令修改
passw
2)如果修改其他用户的密码则需要具有dba权限或者alter user的系统权限
alter user 用户名 identified by 新密码
passw 用户名(dba模式)
3. 删除用户
一般情况下都是以dba的身份去删除某一个用户,如果其他用户去删除用户则需要具有drop user的权限。
drop user 用户名[cascade]
注:如果需要删除的用户,已经创建了表,那么在删除的时候后面就要加一个参数cascade(级联删除)。而且用户自己不可以删除自己。
几种简单的授权
1. connect连接权限
在新创建用户的情况下,这个新用户没有任何权限,连登陆的权限都没有,要想进行登陆操作,那么就需要dba授权。
grant connect to scott;
2. resource(增,删,改,查等等)
如果用户scott中有一张emp表,现在想要用户小明可以去查询这张表,那么就需要用户scott给小明进行授权。
--scott用户授权
grant select on emp to xiaoming;
--得到权限后的小明去查询这张表
select * from scott.emp;
同样剩余的增删改查都是一样的。
--授权修改权限
grant update on emp to xiaoming;
--授权删除权限
grant delete on emp to xiaoming;
--授权天剑权限
grant insert on emp to xiaoming;
那么也可以吧这四种操作同时都授权给另一个用户
grant all on emp to xiaoming;
现在有这样一个问题,如果scott将这张表(emp)的查询权限授权给了xiaoming,那么其他的用户也想要查询这张表,那么xiaoming有没有这张表的查询权限授权给其他用户呢?
要想xiaoming将这emp表的查询权限授权给其他用户,那么scott用户在给xiaoming授权的时候with grant option
grant select on emp to xiaoming with grant option
xiaoming授权的用户,如果也想要继续授权给其他用户,那么xiaoming在授权的过程中也要加上with grant option
回收权限
如果用户scott想要收回xiaoming查询emp表的权限
revoke select on emp from xiaoming
这里需要注意,如果小明还将这张emp表的查询权限授权给其他用户,那么其他的用户也不在拥有查询emp表的权限。