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

来源:互联网 发布:无法启动承载网络 编辑:程序博客网 时间:2024/05/19 20:21
1.查看所有用户:
 
select* fromdba_users;  
 
select* fromall_users;  
 
select* fromuser_users;
 
2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
 
select* fromdba_sys_privs;  
 
select* fromuser_sys_privs; (查看当前用户所拥有的权限)
 
3.查看角色(只能查看登陆用户拥有的角色)所包含的权限
 
sql>select* fromrole_sys_privs;
 
4.查看用户对象权限:
 
select* fromdba_tab_privs;  
 
select* fromall_tab_privs;  
 
select* fromuser_tab_privs;
 
5.查看所有角色:select* fromdba_roles;
 
6.查看用户或角色所拥有的角色:
 
select* fromdba_role_privs;  
 
select* fromuser_role_privs;
 
7.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
 
select* fromV$PWFILE_USERS
 
8.SqlPlus中查看一个用户所拥有权限
 
SQL>select* fromdba_sys_privs wheregrantee='username'; 其中的username即用户名要大写才行。
 
比如: SQL>select* fromdba_sys_privs wheregrantee='TOM';
 
9、Oracle删除指定用户所有表的方法
 
select'Drop table '||table_name||';'from all_tables whereowner='要删除的用户名(注意要大写)';
 
10、删除用户
 
dropuser user_name cascade; 如:dropuser SMCHANNEL CASCADE
 
11、获取当前用户下所有的表:
 
selecttable_name fromuser_tables;
 
12、删除某用户下所有的表数据:
 
select'truncate table  ' || table_name fromuser_tables;
0 0
原创粉丝点击