权限:
如果要执行某种特定的数据库操作,就要赋予系统的权限;
如果要执行访问其他方案的对象,就要赋予对象的权限。
1.创建ken和tom用户
create user ken identified by m123;
create user tom identified by m123;
2.系统授权
3.回收系统权限:说明系统权限不是级联回收
4.对象权限
希望monkey 查询scott的emp表;对于sal字段可以修改
grant select on emp to monkey;
grant update on emp(sal) to monkey;
回收权限:
撤销monkey的同时,ken也撤销了,所以是级联回收的
角色:
oracle实现把一系列权限集中在一起,打包赋给某个用户。
常用的预定义角色:connect、resource、dba
dba角色具有所以的系统权限,及with admin option选项,默认的dba用户为sys和system,他们可以将任何系统权限授予其他用户,但是要注意dba角色不具备sysdba、sysoper的特权(启动和关闭数据库)
自定义角色:一般要dba来完成,如果是其他人则需要create role权限。
(1)建立角色(不验证)
create role 角色名 not identified;
(2)建立角色(验证)
create role 角色名 identified by m123;
(3) 授权:将系统权限或者对象权限授予角色。
grant create session to 角色名 with admin option;
(4)分配角色:创建用户,分配角色
删除角色:需要有drop any role系统权限
drop role 角色名
显示角色信息:select *from dba_roles;
显示某个用户具有的角色和默认角色:select granted_role,default_role from dba_role_privs grantee='dangjw2'
查询角色具有的系统权限:role_sys_privs;
查询角色具有的对象权限或者列权限:dba_tab_privs;