如何查看oracle用户具有的权限和角色

如何查看oracle用户具有的权限和角色,第1张

如何查看oracle用户具有的权限角色

1查看所有用户:

select from dba_users;

select from all_users;

select from user_users;

2查看用户或角色系统权限(直接赋值给用户或角色的系统权限):

select from dba_sys_privs;

select from user_sys_privs;

3查看角色(只能查看登陆用户拥有的角色)所包含的权限

sql>select from role_sys_privs;

4查看用户对象权限:

select from dba_tab_privs;

select from all_tab_privs;

select from user_tab_privs;

5查看所有角色:

select from dba_roles;

6查看用户或角色所拥有的角色:

select from dba_role_privs;

select from user_role_privs;

7查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)

select from V$PWFILE_USERS

比如我要查看用户 wzsb的拥有的权限:

SQL> select from dba_sys_privs where grantee='WZSB';

GRANTEE PRIVILEGE ADMIN_OPTION

具体需要哪些权限需要看用户的实际需要。

系统权限分类:

DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。

CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

对于普通用户:授予connect, resource权限。

对于DBA管理用户:授予connect,resource, dba权限。

系统权限授权命令:

系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)

授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2];

注:普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。

一般创建用户用的是create user,然后再通过grant赋权。 创建:create user XXXX identified by xxxxx; 赋权:grant connect,resource,XXXXXX to XXXXXX; (具体权利查询dba_sys_privs)

ORACLE数据字典视图的种类分别为:USER,ALL 和 DBA

USER_:有关用户所拥有的对象信息,即用户自己创建的对象信息

ALL_:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上

其他用户创建的对象但该用户有权访问的信息

DBA_:有关整个数据库中对象的信息

(这里的可以为TABLES,INDEXES,OBJECTS,USERS等。)

1、查看所有用户

select from dba_user;

select from all_users;

select from user_users;

2、查看用户系统权限

select from dba_sys_privs;

select from all_sys_privs;

select from user_sys_privs;

3、查看用户对象权限

select from dba_tab_privs;

select from all_tab_privs;

select from user_tab_privs;

4、查看所有角色

select from dba_roles;

5、查看用户所拥有的角色

select from dba_role_privs;

select from user_role_privs;

6、查看当前用户的缺省表空间

select username,default_tablespace from user_users;

7、查看某个角色的具体权限

如grant connect,resource,create session,create view to TEST;

8、查看RESOURCE具有那些权限

用SELECT FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCE';

select from dba_sys_privs where grantee='用户名';

用户名要大写,这个是查用户系统权限的;

select from dba_tab_privs where grantee='用户名';

这个查用户对象权限。

关于系统权限和对象权限的区别去问百度。

还有一个dba_col_privs,这个用户列权限。

以上就是关于如何查看oracle用户具有的权限和角色全部的内容,包括:如何查看oracle用户具有的权限和角色、Oracle用户有哪些权限、oracle怎么设置数据库的权限管理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10180666.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存