17.2.4 查询用户的权限

查询用户权限也是数据库管理员经常要做的工作,由于权限都是针对用户或角色的,这里,只查询用户的权限。在查询权限时都通过用户名去查询该用户权限。查询用户权限在企业管理器或者SQL*Plus中都可以完成。下面就分别用这两种方式来查询用户的权限。

1.在企业管理器中查询用户的权限

在企业管理器中查询用户的权限是非常容易的。

【示例15】在企业管理器中查询用户ANONYMOUS的权限

在图17.2所示页面中,选择想要查看权限的用户ANONYMOUS,单击【查看】按钮,即可查看该用户的权限信息以及其他信息,如图17.14所示。

17.2.4 查询用户的权限 - 图1

图 17.14 查看用户权限

由此,就可以看出ANONYMOUS用户的系统权限和对象权限。

2.在SQL*Plus中查询用户权限

Oracle 11g中的用户权限存放在数据库的数据字典中,用户的系统权限存放在数据字典DBA_SYS_PRIVS中,用户的对象权限存放在数据字典DBA_TAB_PRIVS中。

查询在企业管理器中查询过的用户ANONYMOUS的权限,可以检查在企业管理器中查看的结果是否正确。

【示例16】查询ANONYMOUS用户的系统权限

具体操作如图17.15所示。

17.2.4 查询用户的权限 - 图2

图 17.15 查询系统权限

【示例17】查询ANONYMOUS用户的对象权限

具体操作如图17.16所示。

17.2.4 查询用户的权限 - 图3

图 17.16 查询对象权限

说明 除了可以在DBA_SYS_PRIVS和DBA_TAB_PRIVS数据字典中查询权限之外,还可以直接在数据字典USER_SYS_PRIVS中查询当前登录用户的系统权限;在数据字典ALL_TAB_PRIVS中查询当前登录用户的对象权限。