多选题
请看语句“CREATE SPFILE FROM PFILE; ”,在以下有关这一语句的陈述中,哪3个是正确的?
A.执行这个语句需要SYSDBA权限
B.该语句既可以在数据库开启之前,也可以在开启之后执行
C.该语句只能在PFILE在服务器上可以获得时才能执行
D.该语句的语法不能被反转用于从SPFILE创建PFILE
E.该语句将不会执行,因为没有说明SPFILE的名字(文件名)
【正确答案】
A、C、D
【答案解析】[解析] 这一题是测试对初始化参数文件及其相关命令的理解程度。根据有关动态服务器参数文件及其相关命令的介绍——“如果SPFILE名和PFILE名都没有包含在本题的命令中,Oracle将使用默认的PFILE文件产生一个默认的SPFILE文件”,所以可以断定选项E肯定是错误的。
根据有关动态服务器参数文件及其相关命令的介绍,可知利用SPFILE文件生成PFILE文件的语句是CREATE PFILE[='PFILE名'] FROM SPFILE,所以可以断定选项D肯定是错误的。
利用排除法,可以断定选项A、B和C为正确的。由于本题的命令是创建SPFILE这个动态服务器参数文件,所以必须具有SYSDBA权限,否则如果连普通用户都有权创建这一文件的话,系统的安全就无从谈起了,所以选项A肯定是正确的。
因为需要在创建一个数据库之前创建该数据库的初始化参数文件,如果此时想利用正文的初始化参数文件PFILE来生成二进制的动态服务器参数文件SPFILE,但是数据库还没有创建,数据库根本就无法打开,所以Oracle为了支持在这样的特殊情况下生成SPFILE,就必须允许在数据库没有开启的情况下由PFILE来生成SPFILE,因此选项B肯定是正确的。
显而易见,选项C也是正确的,因为如果在服务器上找不到PFILE就无法创建相应的SPFILE。