关闭

oracle 如何查询当前连接的用户名

743人阅读 评论(0) 收藏 举报
分类:

一、查看当前用户信息:

1、查看当前用户拥有的角色权限信息:select * from role_sys_privs;

2、查看当前用户的详细信息:select * from user_users;

3、查看当前用户的角色信息:select * from user_role_privs;

 

总结:数据字典视图分为3大类,用前缀区别,分别为:USER,ALL 和 DBA,

许多数据字典视图包含相似的信息。

 

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

ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上其他用户创建的对象但该用户有权访问的信息。

DBA_*:有关整个Databaase对象的信息。

 

其他:

查看用户和默认表空间的关系。 select username,default_tablespace from dba_users;

1.查看表结构:desc表名

2.查看当前用户的表:

  1. select table_name from user_tables;

3.查看所有用户的表名:

  1. select table_name from all_tables;

4.查看所有表名(其中包括系统表)

  1. select table_name from all_tables;

5.查看所有的表:

  1. select * from tab/dba_tables/dba_objects/cat;

下面介绍Oracle查询用户表空间

◆Oracle查询用户表空间:select * from user_all_tables

◆Oracle查询所有函数和储存过程:select * from user_source

◆Oracle查询所有用户:select * from all_users.select * from dba_users

◆Oracle查看当前用户连接:select * from v$Session

◆Oracle查看当前用户权限:select * from session_privs

◆Oracle查看用户表空间使用情况:

  1. select a.file_id "FileNo",a.tablespace_name

  2. "Tablespace_name",

  3. a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used",

  4. sum(nvl(b.bytes,0)) "Free",

  5. sum(nvl(b.bytes,0))/a.bytes*100 "%free"

  6. from dba_data_files a, dba_free_space b

  7. where a.file_id = b .file_id(+)

  8. group by a.tablespace_name ,

  9. a.file_id,a.bytes order by a.tablespace_name;
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 * from role_sys_privs; 
select * from role_tab_privs; 
7.查看所有系统权限 
select * from system_privilege_map; 
8.查看所有对象权限 
select * from table_privilege_map; 
以上是在Oracle中查看用户权限 ,

在DB2中为:

select * from syscat.dbauth

或者
oracle查看当前有哪些用户连接,可以执行以下语句: select username,serial#, sid from v$session; ---查询用户会话 alter system kill session 'serial#, sid ';---删除相关用户会话 建议以后台登陆删除用户会话 1、查询oracle的连接数 select count(*) from v$session; 2、查询oracle的并发连接数 select count(*) from v$session where status='ACTIVE'; 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;

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:75284次
    • 积分:1266
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:304篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论