多选题 如要显示全部具有ALTER ANY ROLE系统权限的用户,请问,在如下的数据字典视图中,应该查询哪一个?
A.DBA_COL_PRIVS
B.DBA_SYS_PRIVS
C.DBA_USER_PRIVS
D.USER_TAB_PRIVS_RECD

【正确答案】 B
【答案解析】[解析] 这一题是测试对如何获取用户所有系统权限的熟悉程度。根据有关获取用户所有系统权限的介绍,可以断定所需要的数据字典视图就是DBA_SYS_PRIVS,因此选项B肯定是正确的。
也可以通过首先以SYS用户登录数据库,之后使用如下的查询语句从数据字典视图DBA_SYS_PRIVS中获取具有ALTER ANY ROLE系统权限的全部用户的方法来确认选项B是正确的:
SQL>SELECT *
2 FROM DBA_SYS_PRIVS
3 WHERE PRIVILEGE='ALTER ANY ROLE';
GRANTEE PRIVILEGE ADM
--------------- ------------------- --------
SYS ALTER ANY ROLE NO
DBA ALTER ANY ROLE YES
从以上查询语句的显示结果可以看出DBA_SYS_PRIVS正是所需要的数据字典,所以可以确定选项B是正确的。需要指出的是DBA实际上并不是用户,而是一个角色。