多选题
在如下的授权语句中,哪4个是将系统权限授予girldog? A.GRANT CREATE TABLE TO girldog; B.GRANT CREATE INDEX TO girldog; C.GRANT CREATE SESSION TO girldog; D.GRANT CREATE PROCEDURE TO girldog; E.GRANT UPDATE ANY TABLE TO girldog; F.GRANT ALL ON girldog.baby_view TO boydog WITH GRANT OPTION;
【正确答案】
A、C、D、E
【答案解析】[解析] 这一题还是测试对权限的分类以及系统权限的理解程度。根据有关系统权限的介绍——“并没有CREATE INDEX权限,因为索引是基于表的,所以CREATE TABLE系统权限隐含了创建索引的权限”,可以断定选项B是错误的。 根据有关对象权限的授权的介绍,可知ALL、ON对象名,以及WITHGRANT OPTION子句都是在授予或回收对象权限时使用的,所以可以断定选项F是错误的。利用排除法,只有选项A、C、D和E是正确的。 其实,为了确定Oracle数据库中并没有CREATE INDEX权限,同样可以通过查询数据字典DBA SYS PRIVS来获得答案,为此应该以SYS用户登录数据库并在SQL*Plus中使用如下的查询语句: SQL>select * from 2 DBA_SYS_PRIVS 3 WHERE PRIVILEGE LIKE 'CREATE%INDEX' 4 AND GRANTEE='SYS' 5 ORDER BY PRIVILEGE; GRANTEE RIVILEGE ADM ----------- -------------------- ------ SYS CREATE ANY INDEX NO 以上查询语句的显示结果表示确实没有CREATE INDEX这个系统权限,现在应该放心了吧!