您的位置:首页 > 数据库 > Oracle

oracle中权限,角色常用的查询

2013-06-10 12:14 495 查看
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 granted_role,default_role from dba_role_privswhere grantee='用户名'; //角色名需要大写
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: