以sys用户登陆Oracle,执行select * from V_$PWFILE_USERS;可查询到如下结果:
SQL> select * from V_$PWFILE_USERS;
USERNAME SYSDBA SYSOPER
------------------------------ ------ -------
SYS TRUE TRUE
(何为sysoper权限:SYSOPER特权也是Oracle数据库的一种特殊权限。当用户具有该特权时,可以启动数据库,关闭数据库,但是不能建立数据库,也不能执行不完全恢复,这也是和SYSDBA的最大区别,另外,也不具有DBA角色的任何权限。建立了Oracle数据库后,默认情况下只有SYS用户具有SYSOPER特权。需要注意的是,如果要以SYSOPER身份登陆,要求OS用户必须具有OSOPER角色(Windows平台:ORA_OPER角色),当以SYSOPER身份登陆时,必须带有AS SYSOPER选项。)
1.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;
2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
select * from dba_sys_privs;
select * from user_sys_privs;
3.查看角色(只能查看登陆用户拥有的角色)所包含的权限
sql>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或sysoper系统权限(查询时需要相应权限)
select * from V$PWFILE_USERS
查找那些用户有DBA权限
SQL> select * from dba_role_privs where granted_role='DBA';
GRANTEE GRANTED_ROLE ADM DEF
------------------------------ ------------------------------ --- ---
SYS DBA YES YES
SYSMAN DBA NO YES
RMANTEST DBA NO YES
SYSTEM DBA YES YES
JUNFENG DBA NO YES