一、新用户权限的授予:
- 创建新用户/角色 :
create user 角色/用户名 indentified by 口令 - 给予用户权限:(用system登录)
grant create session/connect to 角色/用户
给多个角色/权限 to 用户:
grant resource,connect to 用户
connect :可以登录Oracle,不可以创建实体,不可以创建数据库结构。
session 创建会话的权限 - 撤销权限:(用system登录)
revoke 权限/角色 from 用户
eg: revoke resource from 用户 - 删除用户:
drop user 用户 +【cascade】
注:如果 resource内建了表,就需+ cascade(级联)
eg:drop user resource cascade
二、用户表权限的授予:
- 所有权限:
grant all on emp to 用户 - 给予单、多个权限:
grant select,insert on emp to 用户
3.只授予 所有用户 对表有访问权限:
grant select on emp to public - 转权操作:
with grant option 用于 对象权限 的转授,且收回权限时级联;
with admin option 用于 系统权限 的转授,且收回权限时不级联;
1.系统权限:和数据库管理相关的权限,例如:create、session、table、index、view、trigger、sequence…。
2.对象权限:和用户操作数据对象相关的权限。例如:增删查改。
eg:
scott连接时:grant all on emp to me(用户)
现需要把me的权限转移给另一个用户you:
grant all on scott.emp to you with admin option
(me 用户不拥有转权权限所以要用 with admin option )
而 with grant option :只能被授予用户,而不能授予角色
注:角色是一系列权限的集合,而用户是一系列角色和权限的集合。 - 撤销表权限:
revoke all(或者其他权限eg:select、insert、delete、update() on emp from 用户;
revoke all on emp from public;