数据库应用技术复习试题.doc

上传人:李医生 文档编号:5656110 上传时间:2020-07-20 格式:DOC 页数:12 大小:56.50KB
返回 下载 相关 举报
数据库应用技术复习试题.doc_第1页
第1页 / 共12页
数据库应用技术复习试题.doc_第2页
第2页 / 共12页
数据库应用技术复习试题.doc_第3页
第3页 / 共12页
数据库应用技术复习试题.doc_第4页
第4页 / 共12页
数据库应用技术复习试题.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《数据库应用技术复习试题.doc》由会员分享,可在线阅读,更多相关《数据库应用技术复习试题.doc(12页珍藏版)》请在三一文库上搜索。

1、一、选择题1. SQL*PLUS在ORACLE数据库系统中的作用,以下叙述正确的是(C)A是ORACLE数据库服务器的主要组成部分,是服务器运行的基础构件。B是ORACLE数据库系统底层网络通信协议,为所有的ORACLE应用程序提供一个公共的通信平台。C是ORACLE客户端访问服务器的一个工具,通过它可以向服务器发送SQL命 令。D是ORACLE客户端到客户端的点对点的通信工具,用来传递各个客户端的数据。2. 命令sqlplus /nolog的作用是(C )A仅创建一个ORACLE实例,但并不打开数据库.B 仅创建一个ORACLE实例,但并不登录数据库.C启动sqlplus,但并不登录数据库D

2、以nolog用户身份启动sqlplus3. 在SQL*PLUS中显示EMP表结构的命令是( B)ALIST EMPBDESC EMPCSHOW DESC EMPDSTRUCTURE EMP4. 在SQL*PLUS环境中可以利用DBMS_OUTPUT包中的PUT_LINE方法来回显服务器端变量的值但在此之前要利用一个命令打开服务器的回显功能,这一命令是( D)Aset server onBset serverecho onCset servershow onDset serveroutput on5. 在SQL*PLUS中执行刚输入的一条命令用(A )(A) 正斜杠(/)(B) 反斜杠()(C)

3、 感叹号(!)(D) 句号(.) 6. 在SQL*PLUS中显示当前用户的命令是(C )(A) show account(B) show accountname(C) show user(D) show username7. 当用SQL*PLUS已经登录到某一数据库,此时想登录到另一数据库,应该用命令( A)(A) CONN (B) DISC (C) GOTO (D) LOGON8. 假定表A中有十万条记录,要删除表中的所有数据,但仍要保留表的结构,请问用以下哪个命令效率最高( D)(A) delete from a;(B) drop table a;(C) trunc table a;(D)

4、 truncate table a; 9. 如果一个进程意外终止,ORACLE使用下列哪一个后台进程来释放它所占用的资源(D)(A) DBWn (B) LGWR (C) SMON (D) PMON10. ORACLE网络侦听器位于(B )(A) ORACLE客户端(B) ORACLE服务器端(C) ORACLE客户端和服务器端(D) ORACLE的中间层服务器端11. 以下关于表空间的叙述正确的是(D )(A) 表是表空间的基础,表空间是所有相关表所占空间的总和 (B) 表空间是由一至多个数据文件构成的,每个表占用一个数据文件(C) 一张表可以占用多个表空间,一个表空间也可以容纳多张表(D)

5、一个表空间可以容纳多张表,但一张表只能归属于一个表空间12. 用符号-表示组成关系,下面哪一个组成关系正确表示了ORACLE数据库的逻辑存储结构( B)(A) 块-段-区-表空间-数据库(B) 块-区-段-表空间-数据库(C) 块-表空间-区-段-数据库(D) 块-段-表空间-区-数据库13. 根据不同的需要,可对数据库服务器进行相应的启动方式,当以STARTUP MOUNT方式启动时,以下说法正确的是( B)(A) 仅仅创建一个数据库实例(B) 创建了数据库实例并且挂载了数据库 (C) 创建了数据库实例,同时也创建了数据库(D) 打开了数据库,但只能供系统用户访问14. 在ORACLE客户端

6、网络配置文件中PORT参数值为(A )(A) 服务器的侦听端口,默认为1521(B) 服务器的侦听端口,默认为7778(C) 中间层的接入端口,默认为1521(D) 中间层的接入端口,默认为777815. 在ORACLE客户端网络配置文件中SID参数值为(D )(A) 服务器的IP(B) 服务器的机器名(C) 服务器的数据库域名(D) 服务器的实例名16. 以下关于数据库过程和函数叙述正确的是(A )(A) 过程和函数都是命名的PL/SQL块,但执行效率要比普通PL/SQL块高(B) 过程和函数都是命名的子程序,每次执行前由数据库进行编译(C) 过程是没有返回参数的,而函数是有返回参数的(D)

7、 过程不带输入参数,而函数是要带输入参数的17. 以下关于数据库包的叙述正确是的(B )(A) 包是由包头和包体组成的,在定义包头时,必须也要同时定义好包体(B) 包是由包头和包体组成的,包头和包体是可以分别创建的(C) 包是由包头和包体组成的,包头和包体可以写在一起,也可以分别定义(D) 包是由包头和包体组成的,包头是包体中所有变量的定义区,而包体则只是执行代码部分18. 当对数据库进程调整时,要求除DBA用户外的其它用户都不能访问数据库,这时可以用以下哪种数据库启动方式(C )(A) STARTUP NOMOUNT(B) STARTUP MOUNT(C) STARTUP RESTRICT(

8、D) STARTUP FORCE19. 在关闭数据库时,要求当前尚未处理完成的事务立即停止处理,未完成事务进行回滚.可采用下列哪种方式( C)(A) SHUTDOWN(B) SHUTDOWN ABORT(C) SHUTDOWN IMMEDIATE(D) SHUTDOWN TRANSACTIONAL20. 以下ORACLE认证的级别由低到高排列正确的是(A)(A) OCA-OCP-OCM(B) OCM-OCP-OCA(C) OCP-OCA-OCM(D) OCA-OCM-OCP21. Oracle Database包括哪三类文件? A(A) 控制文件, 数据文件, 日志文件(B) 参数文件, 备份

9、文件, 归档日志文件(C) 密码文件, 归档日志文件, 跟踪文件(D) 重做日志文件, 备份文件, 用户文件22. 在以下PL/SQL循环语句的括号位置应该填写for i in 1 (C) 10 loop(A) TO(B) -(C) .(D) INC23. emp表是雇员信息表,sal字段存放是的雇员的月薪以下哪个变量可以存放sal类型的值B(A) v_sal emp%rowtype;(B) v_sal emp.sal%type;(C) v_sal emp.sal.%type;(D) v_sal %type(emp.sal);24. 在PL/SQL环境中,以下说法正确的是A(A) 字符串是用单

10、引号加以界定的(B) 字符串是用双引号加以界定的(C) 对于单行注释可以用双斜线/开始(D) 多行注释是以大括号加以界定的25. 客户端用于网络连接的两个配置文件文件是A(A) TNSNAMES.ORA 和 SQLNET.ORA(B) TNSNAMES.ORA 和 LISTENER.ORA(C) TNSNAMES.ORA 和 INIT.ORA(D) SQLNET.ORA 和 LISTENER.ORA26. 当表的重复行数据很多时,应该创建的索引类型应该是( C)(A)B树(B)reverse(C)bitmap(D)函数索引27. 关于触发器,下列说法正确的是( B)(A)可以在表上创建INST

11、EAD OF 触发器(B)语句级触发器不能使用“:old”和“:new”(C)行级触发器不能用于审计功能(D)触发器可以显式调用28. 下列哪个命令是用于ORACLE中数据导出的 ( A )(A)exp (B)imp (C)input (D)output29. 一般在(D )中有机会使用:NEW和:OLD(A)游标 (B)存储过程 (C)函数 (D)触发器30. 按照对(B)的管理方式,可以将表空间分为数据字典管理表空间和本地化管理表空间A)段 B)区 C)表 D)Oracle块31. 下列那个文件不属于数据库Database的一部分(B )A)控制文件 B)参数文件 C)数据文件 D)日志文

12、件32. 下列选项中不是本地Net服务名所包含的内容的是(C )A)主机名(IP地址) B)端口号 C)控制文件名 D) 实例名33. 下列关于Oracle后台进程的说法中不正确的是( C)A)SMON的一个重要的职责是进行实例恢复B)PMON的一个职责是清理孤儿会话C)LGWR在CKPT进程未启动的情况下承担起生成检查点的职责D)DBWR负责将用户请求的数据放入到缓存,并在适当的时机将缓存中的数据写入文件34. 下列不属于SGA的是(D )A)块缓冲区(Database Buffers) B)共享池 C) 库缓存(Library cache) D) 专用服务器模式下的会话信息(Session

13、 Information)35. 下列关于Oracle启动的说法中不正确的是( D)A)数据库可以先startup mount,然后用alter database open将数据库打开联机B)数据库可以在open的状态下,用alter database mount将数据库降到mount状态C)数据库可以先startup nomount,然后用alter database open将数据库打开到open联机状态D)利用startup命令,如果没有什么故障,数据库可以直接到open的状态36. 在Oracle中,当用户执行Select语句时,下列哪个进程负责从磁盘中获得用户需要的数据?(B )A)

14、用户进程(user process) B)服务器进程(Server process)C)检查点进程(CKPT) D)日志进程(LGWR)37. 在Oracle中,有一个教师表teacher的结构如下ID number(5)Name varchar2(10)Email varchar2(20)下面哪个语句显示没有Email地址的教师的姓名( C)A )select name from teacher where email=null;B)select name from teacher where emailnull;C)select name from teacher where email

15、is null;D)select name from teacher where email is not null;38. 在windows操作系统中,Oracle的( A)服务监听并接受客户端应用程序的连接请求A)OracleHome_NAMETNSListenerB)OracleServiceSIDC)OracleHome_NameAgentD)OracleHome_NameHTTPServer39. 下列有关包的使用说法错误的是( C)A)在不同的包内模块可以重名B)包的私有过程不能被外部程序调用C)包体中的过程和函数必须在包头部分说明D)必须先创建包头,然后创建包体40. 实例启动后

16、,数据库处于( C)阶段。A. MOUNTB. OPENC. NOMOUNTD. None41. 当Oracle数据库启动时,如果由于操作系统的原因,一个数据文件或重做日志文件无法正常打开或发生故障,将发生怎样的情况?(B )A. oracle将返回错误信息,并且打开数据库B. oracle将返回错误信息,不能打开数据库C. oracle将返回错误信息,并自动启动数据库恢复程序D. oracle将忽略这些文件,进入正常工作状态42. 数据库实例启动的三个阶段依次是( B)。A. OPEN,NOMOUNT,MOUNTB. NOMOUNT,MOUNT,OPENC. NOMOUNT,OPEN,MOU

17、NTD. MOUNT,OPEN,NOMOUNT43. Diane 是一个新入行的DBA,当数据库服务器正在运行时,她执行了shutdown命令,然后她发现Oracle在等待所有已连接到数据库的用户断开连接。请问她是采用哪种方式关闭数据库的?(A )A. NORMALB. ABORTC. IMMEDIATED. NONE44. 数据库启动过程中何时读参数文件?(C )A. 打开数据库时B. 装载数据库时C. 实例启动时D. 每个阶段都要读45. 以下哪条命令用于删除一个约束?(C )A. Alter TABLE MODIFY CONSTRAINTB. Drop CONSTRAINTC. Alte

18、r TABLE Drop CONSTRAINTD. Alter CONSTRAINT Drop46. 位图索引最适用于以下哪种列?( A)A. 重复值很高的列B. 重复值很低的列C. 频繁插入的列D. 频繁更新的列47. 在Create USER命令中DEFAULT TABLESPACE子句用于设置 )的存放位置。AA. 用户创建的数据库对象B. 用户创建的临时对象C. 用户创建的系统对象D. 以上都不对48. 以下哪个不是系统权限?(A )A. SelectB. Drop ANY INDEXC. Create VIEWD. Create SESSON49. 在创建用户的命令中,下列哪个关键字

19、是限制用户可以使用的存储空间的?(D )A. SIZE B. NEXT_EXTENTC. MAX_EXTENTSD. QUOTA50. 以下哪个不是预定义角色?(D )A. CONNECTB. DBAC. RESOURCED. Create SESSON51. 以下哪个不是创建用户过程中必要的信息?(B )A. 用户名B. 用户权限C. 临时表空间D. 口令52. 数据字典由以下哪项组成?(A )A. 表和视图B. 用户和权限C. 角色与视图D. 用户与表53. 建立表结构的SQL语句是(B )。A. Create CURSORB. Create TABLEC. Create INDEXD.

20、Create VIEW54. 从数据库中删除表的命令是( A)。A. Drop TABLEB. Alter TABLEC. Delete TABLED. USE55. 以下哪一条语句可实现增加表employee的name列的长度到25?(A )A. Alter TABLE employee MODIFY name VARCHAR2(25);B. Alter TABLE employee RENAME name VARCHAR2(25);C. Alter employee TABLE MODIFY name VARCHAR2(25);D. Alter employee TABLE MODIFY(

21、name VARCHAR2(25);56. 如果希望employee表原有的列name非空,应该使用以下哪条语句?( B)A. Alter TABLE employee ADD name NOT NULL;B. Alter TABLE employee MODIFY name NOT NULL;C. Alter TABLE employee Alter name NOT NULL;D. Alter TABLE employee Drop name NOT NULL;57. 撤消约束的命令关键字是( A)。A. DropB. DISABLEC. ENABLED. Alter58. Unique关

22、键字表示创建的是哪一种索引?(B )A. B树索引B. 唯一性索引C. 位图索引D. 非唯一性索引59. Create INDEX语句用来创建( C)。A. 序列B. 同义词C. 索引D. 视图二、填空题1、 某Oracle数据库服务器当前有2人联机,由于遇到紧急情况,需要马上关闭,但又想避免可能出现的数据损坏,则DBA应该发出的关闭命令为_Shutdown Immediate_。2、 组成数据库的三类文件是_数据文件_、日志文件和_控制文件_。3、 在Oracle中,一个本地Net服务名由四部分信息构成_通信协议、_服务器主机_、_端口_和_服务名_。4、 假定一张销售表年数据总量达到10G

23、B,设计一个分区表对该表数据进行管理,将一、二、三、四季度数据分别存放到不同表分区段中,这样的分区类型是_区间分区_。5、 Oracle服务器(Oracle Server)由动态的_oracle_实例_和静态的_oracle数据库_两部分构成。6、 Oracle的逻辑单元从大到小是_表区间_、段对象、_区_和Oracle块。7、 后台进程_PMON_负责清理非正常中断留下的孤儿会话。8、 用_Shutdown Abort_命令关闭数据库后,再重新启动数据库的时候需要进行实例恢复(Instance Recovery)。9、 数据库全库损坏的恢复一般在数据库启动的_装载_阶段进行。10、 Orac

24、le网络配置的3个文件中,_sqlnet.ora_文件可在客户端和服务器端出现,而_listener.ora_文件只在服务器端出现。11、 两个表经常进行连接操作,为了提高连接的效率,可以对这两个表建立_ 聚簇_结构。12、 user1拥有对s表的所有对象权限,他想向user2授予对s表的select的权利,并且也想使user2具备将这个权利再传递的权利,请写出授权语句_grant select on _s _to user2 with grant option_oracle数据库中的数据文件的扩展名是什么?_.dbf_13、 控制文件的扩展名是什么?_.ctl_14、 在SQL*plus中,

25、输入一行语句之后,在语句结尾处要写? _分号_15、 PL/SQL中游标操作包括_定义游标_,_打开游标_,读取游标,_关闭游标_。3、 简答题1、 简述Oracle数据库启动的三个阶段。答:1启动到nomount状态,这个阶段数据库读取spfile/pfile文件中的参数,启动数据库实例。2. 启动到mount状态,这个阶段数据库打开控制文件,验证控制文件。.3. .启动到open状态,这个阶段数据库打开控制文件里描述的文件。2、 简述Oracle必须启动的四个后台进程。答:安装和打开数据库SMON。用户会话是连接到服务器进程的用户进程PMON。会话不直接将数据写入磁盘,而是写入到数据库高速

26、缓存区DBWn。日志写入器将日志缓冲区的内容写入到磁盘上的联机日志文件中LGWR。系统崩溃后,必须从重做日志提取与脏缓冲区对应的所有更改矢量,并将其应用于数据块CKPT。(第五一般没有ckpt)3、 解释冷备份和热备份的不同点以及各自的优点。答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。缺点只能在归档模式下进行,归档模式会对系统性能尤其是磁盘i/o造成一定的影响。冷备份的优点就是操作简单,数据库性能比归档模式稍高。缺点就是等下次恢

27、复的时候是一种不完全恢复,也就是说会有数据丢失,那么在生产库上如果用这种模式是非常危险的。 热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。 3、 当用户进程发出conn scott/tiger210.30.12.60:ORCL的请求后,请结合监听的概念,简述会话(Session)建立的过程。答:(1)用户进程根据本地n

28、et服务名中的信息,联系主机210.30.12.60的TCP协议的1521端口,该端口有监听程序Listener在运行。(2)用户进程联系到Listener后,Listener会根据本地Net服务名中的服务名(ORCL)将该连接请求转接到相应的Oracle服务器上。(3)如果这个连接请求通过权限身份验证,就启动一个服务进程与用户进程会话,这样一个会话就建立了,监听也完成了它的历史使命,以后的会话过程不再通过监听。5、 B用户当前有Create Session、Create Table的权限,并在userdata表空间有50M的配额,现该用户需要创建一个表B_Table1,该表的字段StaffN

29、O上有一个外码,该外码指向A用户的表A_Table2中的Staff#字段,要完成B_Table1的创建需要进行什么授权?Grant reference(Staff#)on A_Table to B;6、 某用户user1正与Oracle服务器进行事务处理,突然另外一个用户user2发出shutdown immediate命令,请简述该命令会对user1的影响。答:系统立即强行中断正在处理的SQl语句,并将任何没有提交的事务全部强行回退,然后断开所有连接。对已经提交的事务,系统则将缓存区中的信息写入磁盘中,以维护数据库的一致性。4、 数据库维护应用题1、数据库在某时刻执行了全库的冷备份,并且有自

30、备份以来的所有归档日志。 1)发现user01.dbf文件损坏,试给出数据库完全恢复的过程。使用备份的数据文件替代损坏的数据文件;从数据文件中挑选出时间点最旧的文件,从该数据文件的时间点开始重做事务。 2)发现所有的控制文件损坏,试给出数据库恢复的过程。答:1)使用备份的数据文件替代损坏的数据文件;从数据文件中挑选出时间点最旧的文件,从该数据文件的时间点开始重做事务。2)关闭数据库后,根据参数文件所列控制文件清单,在操作系统下,用拷贝命令将备份的控制文件依次替代损坏的文件,如果因为介质故障备份控制文件不能拷贝回原处,可以拷贝至新地点,但必须在参数文件中修改其路径,且文件名不能改变,并不能出现新

31、的控制文件名。进行下面操作:SQLDBAstartup mount (打开数据库至mount状态)SQLDBArecover database using backup controlfile (进行数据库恢复工作)数据库恢复过程中,DBA 根据需要输入日志文件名,包括online redo log 和archive redo log,直到恢复工作完成,ORACLE 将给出下列信息:Media recover complete.2某数据库运行在非归档模式,现要求能对该数据库执行热备份,请写出将数据库调整到归档模式的过程。答:(1)关闭数据库 SQLshutdown immediate;(2)

32、启动数据库到mount状态 SQLstartup mount;(3) 启动归档模式 SQLalter database archivelog; (4) 打开数据库alter database open;3 某银行的账户表account非常重要,可是该表却在2011.12.26日被误删除了,幸好有该数据库在2011.12.10日和2011.12.27日的实体数据库热备份,现在(2012.2.21日)发现这个account表已经丢失了,写出该表恢复的过程。 5、 PL/SQL编程某表如下:1、 Create table student(sno char(10) primary key,sname

33、char(30),birthday date,sage smallint)完成表的创建后有以下插入语句:Insert into student values(0201, xiaoli, 1997-06-04, 11)Insert into student(sno, sname) values(0202, xiaowei)请书写存储过程完成如下功能:如果有该学生的birthday字段有值则更新该学生的年龄,如无则打印“xxx学生birthday值无值”。并写一个匿名块调用该存储过程。/创建存储过程create or replace procedure my(mysno in student.sn

34、o%type,mysname out student.sname%type,mybir out student.birthday%type,mysage out student.sage%type)isbeginselect sname,birthday,sage into mysname,mybir,mysage from student where sno=mysno;if mybir is null then dbms_output.put_line(mysname|学生birthday值无值。);else update student set sage=months_between(s

35、ysdate,mybir)/12 where sno=mysno ; end if;end; /调用declare mysname student.sname%type;mybir student.birthday%type;mysage student.sage%type;begin my(0202,mysname,mybir,mysage); end;1、 已知学院成绩管理系统中有如下关系表:学生表 students ( student_number ,student_name , major_name, current_credits ); 课程表course( course_name

36、, description, max_students , current_students , num_credits ); 成绩表SC (student_number ,course_name ,grade );其中student_number 学号,student_name学生姓名, major_name 专业名, current_credits当前所选修学分,course_name课程名称,description 课程描述,max_students最大选修的学生人数,current_students当前选修的学生人数,num_credits学分数,grade 成绩。基于以上成绩管理系统

37、中的关系表,写一个过程,传入某学生的学号,打印出该生选修的所有的课程名。答: create or replace procedure cur_courses(stuID in SC.student_number%type ) Is courName SC.course_name; CURSOR courses _cursor IS Select cour_name from SC where SC.student_number=stuID; Begin OPEN courses _cursor; LOOP FETCH courses _cursor INTO courName ; EXIT W

38、HEN v_emp_cursor%NOTFOUND; DBMS_OUTPUT.PUT_LINE(courName ); END LOOP; CLOSE v_emp_cursor; End;第一题的黄淮学院成绩管理系统中相关表,请编写触发器完成以下功能:当对SC表执行插入操作的时候,应相应的对students和classes表的相应字段更新。比如,当向SC表插入一行数据时,则该生的当前所选修学分(current_credits)字段应增加,同时,对应的课程的当前学生数(current_student)字段也应增加。create or replace trigger t_student After insert on sc for each ROWDECLARE v_cnt NUMBER;BEGIN SELECT COUNT(*) INTO v_cnt FROM student; IF v_cnt = 0 THEN INSERT INTO student (student_number) VALUES (:NEW.student_number); INSERT INTO course (current_students) VALUES (:NEW. current_students); END IF; END t_student;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1