Oracle数据库用户权限查询和一些查看操作(汇总)

dba权限:user为有dba权限的账号,如sys,system,或者是已经被授予dba权限

1.查询用户拥有的系统权限
SQL> SELECT GRANTEE,PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRANTEE = 'SCOTT';(dba权限

2.查询用户拥有的对象权限
SQL> SELECT GRANTEE,TABLE_NAME,PRIVILEGE FROM DBA_TAB_PRIVS WHERE GRANTEE = 'SCOTT';(dba权限

3.查询用户拥有的角色
SQL> SELECT GRANTEE,GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE ='SCOTT';(dba权限

4.查看用户和默认表空间的关系
select username,default_tablespace from dba_users;(dba权限
5.Oracle查询用户表
select * from user_tables;-->查看当前用户能访问的表 
select * from dba_tables;-->管理员可以看到的数据库中所有的表(dba权限
select * from user_all_tables;-->与select * from user_tables;有类似之处不过显示的键值对不一样。
select * from all_tables;-->显示用户有权限看到的所有的表,包括系统表
6.Oracle查询用户视图
select * from user_views;
7.查询所有函数和储存过程:
select * from user_source;
8.查询所有用户:
select * from all_users;-->查看能管理的所有用户
select * from dba_users;-->查看数据库里面所有用户(dba权限
select * from user_users;-- >查看当前用户信息
9.查看当前用户连接:
select * from v$Session;(dba权限
10.查看用户角色
SELECT * FROM USER_ROLE_PRIVS;
11.查看当前用户权限:
select * from session_privs;
12.查看所有用户所拥有的角色
SELECT * FROM DBA_ROLE_PRIVS;(dba权限
13.查看所有角色
select * from dba_roles;(dba权限
14.查看数据库名
SELECT NAME FROM V$DATABASE;(dba权限
15.查看所有表空间使用情况
select a.file_id "FileNo",
       a.tablespace_name "Tablespace_name",
       a.bytes "Bytes",
       a.bytes - sum(nvl(b.bytes, 0)) "Used",
       sum(nvl(b.bytes, 0)) "Free",
       sum(nvl(b.bytes, 0)) / a.bytes * 100 "%free"
  from dba_data_files a, dba_free_space b
 where a.file_id = b.file_id(+)
 group by a.tablespace_name, a.file_id, a.bytes
 order by a.tablespace_name;(dba权限

你可能感兴趣的:(oracle,oracle)