Oracle样卷和参考答案.docx
- 文档编号:10866188
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:41
- 大小:111.07KB
Oracle样卷和参考答案.docx
《Oracle样卷和参考答案.docx》由会员分享,可在线阅读,更多相关《Oracle样卷和参考答案.docx(41页珍藏版)》请在冰豆网上搜索。
Oracle样卷和参考答案
考生信息栏
系专业级班级姓名学号
装订线
厦门理工学院试卷
2008-2009学年第2学期
课程名称
数据库管理系统(Oracle)
试卷
卷别
A
B□
专业级班级
考试
方式
闭卷
开卷□
本试卷共5大题(6 页),满分100分,考试时间120分钟。
请在答题纸上作答,在试卷上作答无效。
一、单项选择题(本大题共20小题,每小题2分,共40分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在答题纸上对应的表格内。
错选、多选或未选均无分。
1.通常情况下,登录oracle企业管理器用什么命令?
__D___
A.http:
//服务器ip:
1521/ B.http:
//服务器ip:
1521/em
C.http:
//服务器ip:
5500/ D.http:
//服务器ip:
5500/em
2.在Windows操作系统中,Oracle的_A___服务监听并接受来自客户端应用程序的连接请求。
A.OracleHOME_NAMETNSListenerB.OracleServiceSID
C.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer
3.以下内存区不属于SGA的是__A__
D.PGAB.日志缓冲区C.数据缓冲区D.共享池
4.下列哪个选项不是物理结构中的对象____C__
A.数据文件B.重做日志文件C.表空间D.控制文件
5.在创建数据库时,必需的表空间是____B____
ATEMPTABLESPACEBSYSTEMTABLESPACE
CUSERSTABLESPACEDROLLBACKTABLESPACE
6.使用哪一条SHUTDOWN语句关闭数据库时,下次打开数据库是需要做恢复操作___C___
ASHUTDOWNTRANSACTIONALBSHUTDOWNIMMEDIATE
CSHUTDOWNABORTDSHUTDOWNNORMAL
7.下列哪个进程不是Oracle必须的后台进程___D___
ADBWR数据写入进程BLGWR日志写入进程
CSMON系统监视进程DARCn日志归档进程
8.在SQLPLUS中,如何运行SQL脚本程序__B____
A/B@脚本
CEXE脚本D不能在SQLPLUS中直接运行脚本
9.下列选项中,哪一部分不是Oracle实例的组成部分?
C
A.系统全局区SGAB.PMON后台进程
D.Mnnn调度进程
10.如果服务器进程无法在数据缓冲区中找到空闲块,以添加从数据文件中读出的数据块,则系统会启动如下哪一个进程____D______
A.CKPTB.SMONC.LGWRD.DBWR
11.在默认情况下,检查点的发生频率至少与下列哪个事件的发生次数一致?
__A__
A.重做日志切换B.执行UPDATE语句
C.执行INSERTD.SMON合并表空间中的碎片
12.ORACLE中,用来判断列值是否为空的操作符是__B__
A==NULLBISNULLCASNULLDNULLIS
13.在CUSTOMER中有一列为单价(PRICE),写一个SELECT命令显示所有单价在500以上的查询语句___D___。
ASELECT*FROMCUSTOMERWHEREPRICEMORETHAN500;
BSELECT*FROMCUSTOMERWHEREPRICEBETWEEN500AND*;
CSELECT*FROMCUSTOMERWHEREPRICELIKE'%500%';
DSELECT*FROMCUSTOMERWHEREPRICE>=500;
14.分析以下SQL命令:
SELECTprice
FROMinventory
WHEREpriceBETWEEN1AND50AND(priceIN(55,30,95);
命令执行后的最可能的输出结果是:
___B____.
A55B30C95D51
15.以下需求中哪个需要用分组函数来实现?
__C____
A.把ORDER表中的定单时间显示成'DDMONYYYY'格式
B.把字符串'JANUARY28,2000'转换成日期格式
C.显示PRODUCT表中的COST列值总量
D.把PRODUCT表中的DESCRIPTION列用小写形式显示
16.在Oracle中,使用HAVING子句也可以进行条件查询,以下选项说法是正确的是___C___.
A.HAVING子句和WHERE子句相同B.HAVING子句用于行的条件查询
C.HAVING子句用于已分组结果的条件查询D.以上皆非
17.下列哪个动作不会激发一个触发器?
__B____
A.更新数据
18.公用的子程序和常量在__C___中声明。
A.过程B.游标C.包规范
19.在列的取值重复率比较高的列上,适合创建__A___索引。
A.标准B.唯一C.分区D.位图
20.Oracle中,当需要使用显式游标更新游标中的行时,声明游标时指定的SELECT语句必须带有__C___子句。
A.WHERECURRENTOFB.INTOC.FORUPDATED.ORDERBY
考生信息栏
系专业级班级姓名学号
装订线
二、填空题(本大题共5小题,每空1分,共10分)
请在答题纸上每小题的空格中填上正确答案。
错填、不填均无分。
21.Oracle的后台进程中,___DRWR___进程负责将更改的数据从数据库缓冲区高速缓存写入数据文件;___CKPT___进程负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。
22.在Oracle中,使用___DESC____命令可显示表的结构,使用___COMMIT____命令可提交对表数据的修改。
23.PL/SQL程序中,用户自定义异常是通过显式使用___raise_____语句来触发的;查看操作在数据表中所影响的行数,可通过游标的____%ROWCOUNT_____属性实现。
24.Oracle中,进行逻辑备份与恢复时使用的导出命令是_____EXP____;导入命令是__IMP_____。
25.填写下面的语句,使其可以为Class表的ID列添加一个名为PK_CLASS_ID的主键约束:
ALTERTABLEClass
Add__CONSTRAINT______PK_CLASS_ID
PRIMARYKEY___(ID)___;
三、程序阅读题(本大题共4小题,每小题5分,共20分)
26.阅读以下程序,理解其功能,写出运行结果:
DECLARE
var_anumber:
=1200;
var_bnumber;
BEGIN
IFvar_a>500THEN
var_b:
=5;
ELSIFvar_a>1000THEN
var_b:
=10;
ELSE
var_b:
=8;
ENDIF;
Dbms_output.put_line(var_b);
END;
/
程序运行结果:
__5___
27.阅读以下程序,理解其功能,写出运行结果:
setserveroutputon
declare
ctrinteger:
=0;
begin
whilectr<5
loop
dbms_output.put(ctr+1||'');
ctr:
=ctr+1;
endloop;
end;
/
程序运行结果:
12345_________
28.阅读以下程序,理解其功能,写出运行结果:
setserveroutputon
declare
summnumber:
=0;
Inumber(3):
=10;
begin
whileI>0loop
summ:
=summ+i;
I:
=I-1;
endloop;
dbms_output.put_line(summ);
end;
/
程序运行结果:
_55______
29.阅读以下程序,理解其功能,写出运行结果:
DECLARE
v_weightNUMBER(3):
=100;
BEGIN
DECLARE
v_weightNUMBER(3):
=1;
BEGIN
v_weight:
=v_weight+2;
END;
v_weight:
=v_weight+1;
DBMS_OUTPUT.PUT_LINE('V_weight='||to_char(v_weight));
END;
/
程序运行结果:
__V_weight=101_____
四、程序填空题(本大题共1小题,每空2分,共10分)
第四和第五题可能用到的Employee表结构和数据如下图-1:
图-1Employee表结构和数据
30.阅读以下程序,理解其功能,完成空白:
以下程序段实现的是从employee表中读取员工姓名(ename)和薪资(sal),并使用游标逐行比较,将薪资值在1000-3000之间的员工姓名和薪资输出。
declare
_____
(1)cursorc_emp_cursor______--定义游标c_emp_cursor
is
___________
(2)_selectename,salfromemployee____________;
v_enameemployee.ename%type;
v_salemployee.sal%type;
begin
openc_emp_cursor;--打开游标
loop--遍历游标
__(3)fetch___c_emp_cursorintov_ename,v_sal;
exitwhen___________(4)c_emp_cursor%notfound______________;
ifv_sal>1000andv_sal<3000then
dbms_output.put_line(v_ename||''||v_sal);--输出数据
endif;
endloop;
_________(5)closec_emp_cursor______________;--关闭游标
end;
五、编程题(本大题共2小题,每小题10分,共20分)
31.根据图-1Employee表的结构,完成以下程序的编写:
(1)编写一个查询,显示各个职位(job)和该职位工资在1000元以上并3000元以下的人数。
(4分)
(2)编写一个PL/SQL函数count_by_job,接受传入参数职位(job),据此统计并返回该职位员工数。
(6分)
写出程序代码
执行结果测试:
32.编写一个触发器t_emp_bak,用以备份employee表的历史数据,若用户对表employee进行删除操作,则将被删除的数据转移到表emp_del,若用户对表employee进行更新操作,则将更新前的原始数据行转移到表emp_update中。
(注:
表emp_del和emp_update结构与employee相同。
)
Code:
CREATEORREPLACETRIGGERt_emp_bak
BEFOREdeleteorupdate
ONemployee
FOREACHROW
BEGIN
IFdeletingTHEN
insertintoemp_del(EMPNO,ENAME,JOB,SAL,DEPTNO)
values(:
OLD.EMPNO,:
OLD.ENAME,:
OLD.JOB,:
OLD.SAL,:
OLD.DEPTNO);
ENDIF;
IFupdatingTHEN
insertintoemp_update(EMPNO,ENAME,JOB,SAL,DEPTNO)
values(:
OLD.EMPNO,:
OLD.ENAME,:
OLD.JOB,:
OLD.SAL,:
OLD.DEPTNO);
ENDIF;
END;
/
CREATEORREPLACEFUNCTIONcount_by_job(V_jobinvarchar2)
RETURNnumber
AS
numnumber:
=0;
BEGIN
SELECTcount(*)INTOnum
FROMEmployee
WHEREJOB=V_job;
RETURN(num);
END;
SELECTjob,count(*)
FROMEmployee
WHEREsalbetween1000and3000
GROUPBYjob;
1.()程序包用于读写操作系统文本文件。
(选一项)
A、Dbms_output
B、Dbms_lob
C、Dbms_random
D、Utl_file
2.()触发器允许触发操作的语句访问行的列值。
(选一项)
A、行级
B、语句级
C、模式
D、数据库级
3.()是oracle在启动期间用来标识物理文件和数据文件的二进制文件。
(选一项)
A、控制文件
B、参数文件
C、数据文件
D、可执行文件
4.CREATETABLE语句用来创建(选一项)
A、表
B、视图
C、用户
D、函数
5.imp命令的哪个参数用于确定是否要倒入整个导出文件。
(选一项)
A、constranints
B、tables
C、full
D、file
6.ORACLE表达式NVL(phone,'0000-0000')的含义是(选一项)
A、当phone为字符串0000-0000时显示空值
B、当phone为空值时显示0000-0000
C、判断phone和字符串0000-0000是否相等
D、将phone的全部内容替换为0000-0000
7.ORACLE交集运算符是(选一项)
A、intersect
B、union
C、set
D、minus
8.ORACLE使用哪个系统参数设置日期的格式(选一项)
A、nls_language
B、nls_date
C、nls_time_zone
D、nls_date_format
9.Oracle数据库中,通过()访问能够以最快的方式访问表中的一行(选一项)
A、主键
B、Rowid
C、唯一索引
D、整表扫描
10.Oracle数据库中,下面()可以作为有效的列名。
(选一项)
A、Column
B、123_NUM
C、NUM_#123
D、#NUM123
11.Oracle数据库中,以下()命令可以删除整个表中的数据,并且无法回滚(选一项)
A、drop
B、delete
C、truncate
D、cascade
12.Oracle中,()函数将char或varchar数据类型转换为date数据类型。
(选一项)
A、date
B、to_date
C、todate
D、ctodate
13.ORACLE中,执行语句:
SELECTaddress1||','||address2||','||address2"Address"FROMemploy;将会返回()列(选一项)
A、0
B、1
C、2
D、3
14.Oralce数据库中,以下()函数可以针对任意数据类型进行操作。
(选一项)
A、TO_CHAR
B、LOWER
C、MAX
D、CEIL
15.partitionbylist(msn_id)子句的含义是(选一项)
A、按msn_id列进行范围分区
B、按msn_id列进行列表分区
C、按msn_id列进行复合分区
D、按msn_id列进行散列分区
16.比较pagesize和linesize两个命令的特点,正确的是(选两项)
A、pagesize命令用于设置屏幕上每一页包含的行数
B、linesize命令用于设置屏幕上每一行的字符数
C、pagesize命令用于设置屏幕上每一行的字符数
D、linesize命令用于设置屏幕上每一页包含的行数
17.查询语句SELECTLTRIM('aaabaccaddefg','abc')FROMDUAL的返回结果是(选一项)
A、addefg
B、dde
C、ddefg
D、aabaccaddefg
18.带有()字句的SELECT语句可以在表的一行或多行放置排他锁(选一项)
A、FORINSERT
B、FORUPDATE
C、FORDELETE
D、FORREFRESH
19.调用ORACLE隐式游标的关键字是(选一项)
A、CURSOR
B、SQL
C、PLSQL
D、ORACLECURSOR
20.关于ORACLE锁的级别,说法正确的是(选一项)
A、ROWSHARE是表级锁
B、一个会话对表加了SHARE锁,别的会话不能对该表加SHARE锁
C、一个会话对表加了SHARE锁,别的会话不能对该表进行修改
D、使用UPDATE语句修改记录,系统一定会添加ROWSHARE锁
21.看下面代码,正确的是(选一项)
A、DECLAREDBMS_OUTPUT.PUT_LINE('定义部分');BEGINDBMS_OUTPUT.PUT_LINE('语句部分');END;
B、BEGINNUMNUMBER:
=100;DBMS_OUTPUT.PUT_LINE('NUM的值为:
'||NUM);END;
C、DECLARENUMNUMBER:
=100;BEGINNUM:
=NUM+NUM/2;DBMS_OUTPUT.PUT_LINE('NUM的值为:
'||NUM);END;
D、BEGINNUMNUMBER:
=100;DECLARENUM:
=NUM+NUM/2;DBMS_OUTPUT.PUT_LINE('NUM的值为:
'||NUM);END;
22.可以使用下面的()个数据字典查看当前数据库的表空间情况。
(选一项)
A、dba_users
B、dba_tab_privs
C、dba_tablespaces
D、user_tab_privs
23.如果存储过程的参数类型为OUT,那么调用时传递的参数应该为(选一项)
A、常量
B、表达式
C、变量
D、都可以
24.如果希望更新Oracle表authors中first_name列为非空,可以使用哪个语句(选一项)
A、altertableauthorsaddfirst_namenotnull
B、altertableauthorsmodifyfirst_namenotnull
C、altertableauthorsalterfirst_namenotnull
D、altertableauthorsdropfirst_namenotnull
25.如果希望执行某操作时,该操作不执行,而是执行另一个操作,那么可是使用什么方式来完成(选一项)
A、before触发器
B、after触发器
C、insteadof触发器
D、undo触发器
26.使用desc命令不能显示表的()信息(选一项)
A、列名称
B、列长度
C、列是否为空
D、表中的记录数
27.数据字典在SGA的哪一个组件中缓存(选一项)
A、数据库高速缓冲区
B、共享
C、PGA
D、重做日志缓冲区
28.下列ORACLE说法错误的是(选一项)
A、UNION集合运算中不会存在重复记录
B、UNIONALL集合运算不会存在重复记录
C、INTERSECT运算结果是两个结果集合中共同的部分
D、MINUS运算中不存在第二个集合的记录
29.下列不属于ORACLE分析函数的是(选一项)
A、ROW_NUMBER
B、ROWNUM
C、RANK
D、DENSE_RANK
30.下列不属于ORACLE逻辑结构的是(选一项)
A、区
B、段
C、数据文件
D、数据块
31.下列不属于ORACLE游标属性的是(选一项)
A、ISOPEN
B、EXISTS
C、FOUND
D、ROWCOUNT
32.下列关于ORACLE的to_date函数和to_char函数,描述正确的是(选两项)
A、to_char函数的作业是将字符串数据转换为日期数据
B、to_date函数的作业是讲字符串转换为日期
C、to_char函数是将日期数据转换为字符数据
D、to_date函数是将日期数据转换为字符数据
33.下列哪个ORACLE后台进程是数据写入进程(选一项)
A、DBWR
B、SERVICELOG
C、LGWR
D、SMON
34.下列哪个进程主要职责是监控服务器进程和注册数据服务。
(选一项)
A、SMON
B、PMON
C、DBWR
D、LGWR
35.下列说法错误的是(选两项)
A、在PL/SQL中使用<>表示不等于
B、在PL/SQL中使用!
=表示不等于
C、在PL/SQL中使用相等判断使用 ==
D、在PL/SQL中赋值使用 =
36.下列有关包的使用说法错误的是(选一项)
A、在不同的包内模块可以重名
B、包的私有过程不能被外部程序调用
C、包体中的全局过程和函数必须在包头部分说明
D、必须先创建包头,然后创建包体
37.下列有关存储过程的特点说法错误的是(选一项)
A、存储过程不能将值传回调用的主程序
B、存储过程是一个命名的模块
C、编译的存储过程存放在数据库中
D、一个存储过程可以调用另一个存储过程
38.下列有关函数的特点说法错误的是(选一项)
A、函数必须定义返回类型
B、函数参数的类型可以是OUT
C、在函数体内可以多次使用RETURN语句
D、函数的调用应使用EXECUTE命令
39.下面哪个ORACLE函数把字符串x的所有单词的首字母变成大写(选一项)
A、initcap
B、concat
C、upper
D、lower
40.下面哪个操作会导致用户连接到ORACLE数据库,但不能创建表(选一项)
A、授予了CONNECT的角色,但没有授予RESOURCE的角色
B、没有授予用户系统管理员的角色
C、数据库实例没有启动
D、数据库监听没有启动
41.下面哪个用户不是ORACLE缺省安装后就存在的(选一项)
A、SYSMANAGER
B、SYSTEM
C、SYS
D、SCOTT
42.下面那个部分是PL/SQL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 参考答案