oracleDBA笔试经典试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
普通类
一、选择题(单选题)
1、在下列哪一种情况下用户不能被删除( )。
A. 不拥有任何模式对象的用户
B. 当前正处于连接状态的用户
C. 拥有只读表的用户
D. 所有的用户都可以任何时刻删除
2、分析以下的SQL 命令:
SELECT manufacturer_id
FROM inventory
WHERE manufacturer_id LIKE '%N\%P\%O%' ESCAPE '\';
命令执行的返回结果是()
A、所有包含'NPO'的纪录
B 、所有包含'N\P\O'的纪录
C 、所有包含'N%P%O'的纪录
D 、所有包含'%N\P\O%'的纪录
3、游标的哪一种属性指示fetch语句是否从活动集中返回行,如未能返回行,则此属性的值为true ?
A、%FOUND
B、%NOTFOUND
C、%ROWCOUNT
D、%ISOPEN
4、下列哪个集合操作符返回两个查询所选择的所有不同的行。
A、Union
B、Union all
C、Union only
D、Intersect
5、如何删除sales表中产品类型为toys的profits列的列值?
A、UPDATE sales SET profits = NULL WHERE product_type = 'TOYS'
B、DELETE profits FROM sales WHERE product_type = 'TOYS'
C、DELETE FROM sales WHERE product_type = 'TOYS'
D、DELETE FROM sales
6、参数maxtrans指定每个( D )上允许的最大并发的事务数。
A、table
B、segment
C、extent D. block
7、在Oracle PL/SQL中,执行动态SQL的语句是
A、NXECUTE
B、START
C、RUN
D、EXECUTE IMMEDIATE
8、下面哪一个SQL语句将USER表的名称更改为USERINFO ?
A、ALTER TABLE USER RENAME AS USERINFO;
B、RENAME TO USERINFO FROM USER;
C、RENAME USER TO USERINFO;
D、RENAME USER AS USERINFO;
9、在Oracle中,下面哪条语句当COMM字段为空时显示0,不为空时显示COMM的值
A、select ename, nvl(comm.,0) from emp;
B、 select ename, null(comm.,0) from emp;
C、SELECT ename,NULLIF(comm,0)FROM emp;
D、SELECT ename,DECODE(comm.,NULL,0)FROM emp;
10、如果服务器进程无法在数据缓冲区中找到空闲块以添加从数据文件中读出的数据块则系统会启动如下哪一个进程 _________
A、CKPT
B、SMON
C、LGWR
D、DBWR
11、在默认情况下检查点的发生频率至少与下列哪个事件的发生次数一致
A、重做日志切换
B、执行UPDATE 语句
C、执行INSERT
D、SMON 合并表空间中的碎片
二、选择题(多选题)
1、Delete和 truncate 都可以用来删除表内容,以下描述正确的是?
A、truncate 不需要 rollbacksegment
B、delete 需要rollbacksegment
C、truncate在提交commit之前仍可回滚
D、truncate还可以删除表结构
2、Student表的表结构
sid_id number
start_date date
end_date date
在start_date列上使用哪些函数是正确的?
A、sum(start_date)
B、count(start_date)
C、avg(start_date,end_date)
D、min(start_date)
3、下面对视图的作用描述正确的是:
A、视图可以加速数据访问
B、视图可以屏蔽掉对部分原始数据的访问
C、视图可以降低查询复杂度
D、视图可以代替原始数据表
4、检查下列EMPLOYEES表中的数据。
LAST_NAME DEPARTMENT_ID SALARY
-------------- ------------------- ----------
Getz 10 3000
Davis 20 1500
King 20 2200
Davis 30 5500
下面子查询正确的是
A、select * from employees
where salary>(select min(salary) from employees group by department.id);
B、select * from employees
where salary=(select avg(salary) from employees group by department_id);
C、select department_id from employees
where salary>all (select avg(salary) from employees group by department_id);
D、select last_name from employees
where salary>any(select max(salary) from employees group by department_id);