日期:2014-05-16  浏览次数:20411 次

Oracle 用户信息查询,操作语句

dba_XXX 需要有权限才能查看,否则会报表和视图不存在的错误

1. 查询所有用户(username, tablespace 信息)

select * from dba_users;
select * from all_users;
//当前用户
select * from user_users;  

2. 查看用户或角色的系统权限

select * from dba_sys_privs;
//当前用户拥有的权限
select * from user_sys_privs;

3. 查看当前登录用户所拥有的角色所包含的权限

select * from role_sys_privs;

4. 查看用户对象权限(对表和视图等的权限)

select * from dba_tab_privs;
select * from all_tab_privs;   
select * from user_tab_privs;


5. 查看所有角色

select * from dba_roles; 


6. 查看用户和角色所拥有的角色

select * from dba_role_privs;
select * from user_role_privs;

7. 查询哪些用户有sysdba或sysopr 系统权限

select * from v$PWFILE_USERS;

 8. 查看一个用户所拥有的权限(username必须大写)

select * from dba_sys_privs where grantee='USERNAME';

9. 删除指定用户的所有表

select 'Drop table '||table_name||';' from all_tables where owner='USERNAME';

10. 删除用户

drop user USERNAME cascade;

11. 获取当前用户下所有的表

select table_name from user_tables;

12. 删除某用户下所有的表数据

select 'truncate table '||tablename from user_tables;