创建用户,角色并授权

创建用户

Create user test2
identified by test2
default tablespace USERS
temporary tablespace temp
profile default
quota 50m on USERS;

删除用户

drop user test2 CASCADE; -- 将用户及其所建实体全部删除

创建角色

create role test2role

为角色赋权

grant select ,insert,update on scott.test to test2role

赋予用户角色

grant test2role ot test2

此时在使用test2 用户登录即可查询 scott.test 表中数据。
注意:
如果在给角色赋予select ,insert,update前登录,需要重新登录才可以查询scott.test 表中数据。
给用户赋予select ,insert,update前登录,不用重新登录就可以查询

查询角色权限

create role newusrole ----创建角色
grant create table to newusrole ----赋予角色系统权限
grant select ,insert,update on scott.test to newusrole --赋予角色对象权限

---------在system用户下查询

select * from role_sys_privs where role='NEWUSROLE'; ----查询角色拥有的系统权限

在这里插入图片描述

select * from role_tab_privs where role='NEWUSROLE'; ----查询角色拥有的对象权限

在这里插入图片描述

select * from dba_sys_privs 
where grantee in('NEWUS','NEWUSROLE');----角色和用户的系统权限


用户拥有connect角色,并没有直接拥有create session 权限,所以没有结果

grant create session to newus
select * from dba_sys_privs where grantee in('NEWUS','NEWUSROLE')

在这里插入图片描述

select *from dba_tab_privs d 
where d.grantee in('NEWUS','NEWUSROLE');----角色和用户的对象权限

在这里插入图片描述

------在普通用户下查询

select *from role_sys_privs----当前用户拥有的系统权限

创建用户,角色并授权_第1张图片

select *from role_tab_privs;--当前用户拥有的对象权限

在这里插入图片描述

你可能感兴趣的:(oracle,数据库,sql)