17.2.4 查询用户的权限
查询用户权限也是数据库管理员经常要做的工作,由于权限都是针对用户或角色的,这里,只查询用户的权限。在查询权限时都通过用户名去查询该用户权限。查询用户权限在企业管理器或者SQL*Plus中都可以完成。下面就分别用这两种方式来查询用户的权限。
1.在企业管理器中查询用户的权限
在企业管理器中查询用户的权限是非常容易的。
【示例15】在企业管理器中查询用户ANONYMOUS的权限
在图17.2所示页面中,选择想要查看权限的用户ANONYMOUS,单击【查看】按钮,即可查看该用户的权限信息以及其他信息,如图17.14所示。
图 17.14 查看用户权限
由此,就可以看出ANONYMOUS用户的系统权限和对象权限。
2.在SQL*Plus中查询用户权限
Oracle 11g中的用户权限存放在数据库的数据字典中,用户的系统权限存放在数据字典DBA_SYS_PRIVS中,用户的对象权限存放在数据字典DBA_TAB_PRIVS中。
查询在企业管理器中查询过的用户ANONYMOUS的权限,可以检查在企业管理器中查看的结果是否正确。
【示例16】查询ANONYMOUS用户的系统权限
具体操作如图17.15所示。
图 17.15 查询系统权限
【示例17】查询ANONYMOUS用户的对象权限
具体操作如图17.16所示。
图 17.16 查询对象权限
说明 除了可以在DBA_SYS_PRIVS和DBA_TAB_PRIVS数据字典中查询权限之外,还可以直接在数据字典USER_SYS_PRIVS中查询当前登录用户的系统权限;在数据字典ALL_TAB_PRIVS中查询当前登录用户的对象权限。