Oracle用户信息查询操作语句
dba_XXX 需要有权限才能查看,否则会报表和视图不存在的错误
1. 查询所有用户(username, tablespace 信息)
[sql]
select * from dba_users;
select * from all_users;
//当前用户
select * from user_users;
2. 查看用户或角色的系统权限
[sql]
select * from dba_sys_privs;
//当前用户拥有的权限
select * from user_sys_privs;
3. 查看当前登录用户所拥有的角色所包含的权限
[sql]
select * from role_sys_privs;
4. 查看用户对象权限(对表和视图等的权限)
[sql]
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
5. 查看所有角色
[sql]
select * from dba_roles;
6. 查看用户和角色所拥有的角色
[sql]
select * from dba_role_privs;
select * from user_role_privs;
7. 查询哪些用户有sysdba或sysopr 系统权限
[sql]
select * from v$PWFILE_USERS;
8. 查看一个用户所拥有的权限(username必须大写)
[sql]
select * from dba_sys_privs where grantee='USERNAME';
9. 删除指定用户的所有表
[sql]
select 'Drop table '||table_name||';' from all_tables where owner='USERNAME';
10. 删除用户
[sql]
drop user USERNAME cascade;
11. 获取当前用户下所有的表
[sql]
select table_name from user_tables;
12. 删除某用户下所有的表数据
[sql]
select 'truncate table '||tablename from user_tables;
推荐阅读:
[Oracle] 在没有备份的情况下undo损坏怎么办?
UNDO表空间失败的处理方法
undo表空间故障和ORA-01548处理
RAC下丢失undo表空间的恢复
UNDO表空间备份恢复