1.显示所有系统权限:
select * from system_privilege_map order by name; //任何一个用户都可以使用
2.查看oracle提供的所有对象权限(DBA用户可以查看)
select distinct privilege from dba_tab_privs;
3.预定义角色:
select * from dba_roles;来查询系统有多少种预定义角色
4.如何查看某个角色具有什么样的权限:
select * from dba_sys_privs where grantee='DBA' //DBA 一定是大写
grantee取值还可以是CONNECT,RESOURCE 等
5.可以使用sys/system 用户登录,用如下语句查看某个用户具有什么角色
select * from dba_role_privs where grantee = '用户名'
如:select * from dba_role_privs where grantee = 'SCOTT' //grantee 后面的取值是大写
6.自定义角色:
①建立角色【不验证】
如果角色是公用的角色,可以采用不验证的方式建立角色
create role 角色名 not identified;
②建立角色【数据库验证】
采用这样的方式时,角色名,口令存放在数据库中。当激活该角色,必须提供口令,
在建立这种角色时,需要为其提供口令
create role 角色名 identified by m123;
7.角色查询常用汇总:
①显示所有角色:select * from dba_roles;
②显示角色具有的系统权限:
select privilege,admin_option from role_sys_privs where role='角色名' //角色名需要大写
③显示角色具有的对象权限:
select * from dba_tab_privs where grantee='角色名' //角色名需要大写
④显示用户具有的角色,以及默认角色
select * from system_privilege_map order by name; //任何一个用户都可以使用
2.查看oracle提供的所有对象权限(DBA用户可以查看)
select distinct privilege from dba_tab_privs;
3.预定义角色:
select * from dba_roles;来查询系统有多少种预定义角色
4.如何查看某个角色具有什么样的权限:
select * from dba_sys_privs where grantee='DBA' //DBA 一定是大写
grantee取值还可以是CONNECT,RESOURCE 等
5.可以使用sys/system 用户登录,用如下语句查看某个用户具有什么角色
select * from dba_role_privs where grantee = '用户名'
如:select * from dba_role_privs where grantee = 'SCOTT' //grantee 后面的取值是大写
6.自定义角色:
①建立角色【不验证】
如果角色是公用的角色,可以采用不验证的方式建立角色
create role 角色名 not identified;
②建立角色【数据库验证】
采用这样的方式时,角色名,口令存放在数据库中。当激活该角色,必须提供口令,
在建立这种角色时,需要为其提供口令
create role 角色名 identified by m123;
7.角色查询常用汇总:
①显示所有角色:select * from dba_roles;
②显示角色具有的系统权限:
select privilege,admin_option from role_sys_privs where role='角色名' //角色名需要大写
③显示角色具有的对象权限:
select * from dba_tab_privs where grantee='角色名' //角色名需要大写
④显示用户具有的角色,以及默认角色
select granted_role,default_role from dba_role_privswhere grantee='用户名'; //角色名需要大写