如何查询Oracle中所有用户信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查询Oracle中所有用户信息相关的知识,希望对你有一定的参考价值。

使用具有dba权限的帐号登录数据库
执行命令"select username from dba_users"
官方文档对dba_users的定义:DBA_USERS describes all users of the database.因此可以如此查询。
用数据字典
select * from dba_users; 查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system
select * from all_users; 查看你能管理的所有用户!
select * from user_users; 查看当前用户信息 !
参考技术A 1. 查询oracle中所有用户信息
select * from dba_users;
2. 只查询用户和密码
select username,password from dba_users;
3. 查询当前用户信息
select * from dba_ustats;
4. 查询用户可以访问的视图文本
select * from dba_varrays;
5. 查询数据库中所有视图的文本
select * from dba_views;
select distinct tablespace_name from SYS.DBA_FREE_SPACE where tablespace_name like '%RB%';

select * from dba_objects where object_name='JDE900_F0005';

select * from rbods.jde900_f0005;
select * from rbodm.dim_company;

  查看当前用户的缺省表空间
  select username,default_tablespace from user_users
  查看当前用户的角色
  select * from user_role_privs
  查看当前用户的系统权限和表级权限
  select * from user_sys_privs
  select * from user_tab_privs
  查看用户下所有的表
  select * from user_tables
  显示用户信息(所属表空间)
  select default_tablespace,temporary_tablespace from dba_users
  显示当前会话所具有的权限
  select * from session_privs
  显示指定用户所具有的系统权限
  select * from dba_sys_privs
  显示特权用户
  select * from v$pwfile_users
  查看名称包含log字符的表
  select object_name,object_id from user_objects where instr(object_name,'log')>0
  查看某表的创建时间
  select object_name,created from user_objects where object_name='ZW_YINGYEZ'
  查看某表的大小
  select sum(bytes)/(1024*1024) tablesize from user_segments
  where segment_name='ZW_YINGYEZ'
  查看放在ORACLE的内存区里的表
  select table_name,cache from user_tables where instr(cache,'Y')>0
  查看索引个数和类别
  select index_name,index_type,table_name from user_indexes order by table_name
  查看索引被索引的字段
  select * from user_ind_columns where table_name='CB_CHAOBIAOSJ201004'
  查看索引的大小
  select sum(bytes)/(1024*1024) as indexsize from user_segments
  where segment_name=upper('AS_MENUINFO')
  查看视图信息
  select * from user_views
  查看同义词的名称
  select * from user_synonyms
  查看函数和过程的状态
  select object_name,status from user_objects where object_type='FUNCTION'
  select object_name,status from user_objects where object_type='PROCEDURE'
  查看函数和过程的源代码
  select text from all_source where owner=user and name='SF_SPLIT_STRING'
  查看表字段
  select cname from col where tname='ZW_YINGYEZ'
  select column_name from user_tab_columns where table_name='ZW_YINGYEZ'

查看oracle版本命令:
select * from v$version

Oracle数据库中如何查询一个用户A下面所有的表的信息

1、打开pl/sql客户端,登录oracle数据库;

2、编写sql,select * from user_tables t where table_name like 'TEST%' order by 1;即可查看该用户下所有的表;

3、编写sql,select * from all_tables t;即可查看该库下所有用户所有的表;

4、编写sql;select * from user_tab_cols t where table_name like 'TEST%' order by 1, column_id;即可查看该用户下所有表的字段信息;

参考技术A 1、看用户的表的信息如同marliuang所说,不再赘述。当然了你用A登录后也可以用命令(select tname from tab;)查看。
2、显示乱码是因为oracle中的回收站(recyclebin)的缘故,为了防止用户误删除,oracle引入了回收站这一概念,你可以使用命令:purge recyclebin;(用户A登录)或者purge dbarecyclebin;(dba用户登录)这样就看不到这个表了。当然了你在删除表的时候直接写“drop table tablename purge;” 也是一样的。本回答被提问者采纳
参考技术B 方法一:以A用户登录数据库,执行select table_name from user_tables;
方法二:以system用户登录数据,执行select table_name from dba_tables where owner='A';追问

为什么我之前删除了用户A下的表info,现在查询用户A下面所有的表的信息,里面应该没有表的,但是却显示出了一段乱码,我在Sql/Plus上面执行的

追答

把显示的乱码贴出来看看

参考技术C select * from tab; 参考技术D select * from A

以上是关于如何查询Oracle中所有用户信息的主要内容,如果未能解决你的问题,请参考以下文章

如何查询Oracle中所有用户信息

如何查询Oracle中所有用户信息

如何查询Oracle中用户所有信息

Oracle数据库中如何查询一个用户A下面所有的表的信息

查询oracle中所有用户信息(转)

如何在ORACLE中查询某一用户下所有的空表