创建用户
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----当前用户拥有的系统权限
select *from role_tab_privs;--当前用户拥有的对象权限