如何查询Oracle用户的角色/权限

在开发环境迁移测试环境时,分配的oracle用户SMARTYD经常会报用户权限异常/服务端连接异常等错误信息;初步排除代码异常问题后,开始排查是否新分配的oracle用户问题;学习整理如下:

1、查询oracle的连接数
select count(*) from v$session;


查询oracle的连接数

v$session:
这个视图主要提供的是一个数据库connect的信息,
主要是client端的信息,比如以下字段:
machine 在哪台机器上
terminal 使用什么终端
osuser 操作系统用户是谁
program 通过什么客户端程序,比如TOAD
process 操作系统分配给TOAD的进程号
logon_time 在什么时间
username 以什么oracle的帐号登录
command 执行了什么类型的SQL命令
sql_hash_value SQL语句信息

2、查询oracle的并发连接数
select count(*) from v$session where status='ACTIVE';


查询oracle的并发连接数

3、查看不同用户的连接数
select username,count(username) from v$session where username is not null group by username;


查看不同用户的连接数

4、查看所有用户:
select * from all_users;


查看所有用户

5、查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
select * from dba_sys_privs;
select * from user_sys_privs;


查看用户或角色系统权限

6、查看角色(只能查看登陆用户拥有的角色)所包含的权限
select * from role_sys_privs;

查看角色

7、查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;


查看用户对象权限

8、查看所有角色:
select * from dba_roles;


查看所有角色

9、查看用户或角色所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;


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

10、查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
select * from V$PWFILE_USERS;


查看哪些用户有sysdba或sysoper系统权限

你可能感兴趣的:(如何查询Oracle用户的角色/权限)