如何查询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中所有用户信息的主要内容,如果未能解决你的问题,请参考以下文章