第1页共6页考生信息栏系专业级班级姓名学号装订线一、选择题:(本题共20个小题,每小题2分,共40分)1当Oracle服务器启动时,下列哪种文件不是必须的()。A.数据文件B.控制文件C.日志文件D.归档日志文件2.在Oracle中,一个用户拥有的所有数据库对象统称为()。A.数据库B.模式C.表空间D.实例3.在Oracle数据库的逻辑结构中有以下组件:1.表空间2.数据块3.区4.段这些组件从大到小依次是()。A.1→2→3→4B.1→4→3→2C.1→3→2→4D.4→1→3→24.下列哪个子句实现对一个结果集进行分组和汇总()。A.HAVINGB.ORDERBYC.WHERED.GROUPBY5.在Oracle数据库中,()用户模式存储数据字典表和视图对象。A.SYSB.SYSTEMC.SCOTTD.SYSDBA6.以下不属于命名的PL/SQL块的是()。A.程序包B.过程C.游标D.函数7.在Oracle中创建用户时,若未提及DEFAULTTABLESPACE关键字,则Oracle就将()表空间分配给用户作为默认表空间。A.HRB.SCOTTC.SYSTEMD.SYS第2页共6页8.在Windows操作系统中,Oracle的()服务是使用iSQL*Plus必须的。A.OracleHOME_NAMETNSListenerB.OracleServiceSIDC.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer9.下列哪个语句可以在SQL*Plus中直接调用一个过程()。A.RETURNB.CALLC.SETD.EXEC10.如果服务器进程无法在数据缓冲区中找到空闲块,为添加从数据文件中读出的数据块,则系统会启动如下哪一个进程()A.CKPTB.DBWRC.LGWRD.SMON11.下列哪一个锁模式不属于Oracle()。A.死锁B.排他锁C.行级共享锁D.共享锁12.有字符串数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为()A.104B.44C.1010D.41013.在Oracle中,当控制一个显式游标时,下面哪种命令包含INTO子句()。A.FETCHB.CLOSEC.OPEND.CURSOR14.ORACLE中,用来判断列值是否为空的操作符是()。A.==NULLB.NULLISC.ASNULLD.ISNULL15.查询一个表的总记录数,可以采用()统计函数。A.AVG(*)B.SUM(*)C.COUNT(*)D.MAX(*)16.以下的哪个命令可以将SQL命令的运行结果保存到文件中()。A.SAVEB.SPOOLC.GETD.INPUT17.为了去除结果集中重复的行,可在SELECT语句中使用下列哪个关键字()。A.ALLB.DISTINCTC.SPOOLD.HAVING18.关于模式的描述下列哪一项不正确()。A.表或索引等模式对象一定属于某一个模式B.在Oracle数据库中,模式与数据库用户是一一对应的C.一个表可以属于多个模式D.一个模式可以拥有多个表19.下列SELECT语句中,哪些子句可以包含子查询()。A.SELECTB.GROUPBYC.WHERED.ORDERBY20.在下列模式对象中,哪个对象不会占用实际的存储空间()。A.视图B.表C.索引D.簇第3页共6页二、填空题(共8小题,10空需要填写,每空1分,共10分)1.__________是具有名称的一组相关权限的组合。2.一个表空间物理上对应一个或多个__________文件。3.标准的SQL语言语句类型可以分为:__________、数据操纵语句(DML)和__________。4.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用__________语句。5.通过视图修改数据时,实际上是在修改__________中的数据。6.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用__________语句。7.在众多的事务控制语句中,用来撤销事务的操作的语句为________,用于持久化事务对数据库操作的语句是________。8.在多进程Oracle实例系统中,进程分为________、后台进程和服务器进程。三、程序填空(共10小题,10空需要填写,每空3分,共30分)1.假设当前用户是SCOTT用户以普通用户登录,口令为tiger,请写出该用户以管理员身份登录的命令________________________________________;2.假设用户SCOTT以管理员身份登录,现需创建用户Lisa,口令是Lisa,请写出相应的命令___________________________________________;3.假设用户SCOTT以管理员身份登录,已知用户账号Lisa被锁定,需为他解除锁定,请写出相应的命令___________________________________________;4.假设用户SCOTT以管理员身份登录,需授予用户Lisa对SCOTT用户模式下的EMP表进行查询(SELECT)的权限,请写出相应的命令_______________________________;5.假设用户SCOTT以管理员身份登录,在SQLPlus的SQL提示符下,希望用户Lisa用Lisa以普通用户身份登录到系统,请写出相应的命令________________________;6.假设用户Lisa用Lisa以普通用户身份登录到系统,现需查看本用户下的Class表的结构,请写出相应的命令___________________________________________;7.假设用户Lisa用Lisa以普通用户身份登录到系统,用命令select*fromClass查询Class表中的数据,现需将缓冲区中的SQL命令保存到C盘根目录下的class.txt文件中,请写出相应的命令___________________________________________;8.假设用户Lisa用Lisa以普通用户身份登录到系统,现需查看本用户下有哪些表,请写出相应的命令___________________________________________;第4页共6页9.假设用户Lisa用Lisa以普通用户身份登录到系统,现需为Class表的ID列添加一个名为PK_CLASS_ID的主键约束,请补充完整相应的命令ALTERTABLEClass________________________;10.假设用户Lisa用Lisa以普通用户身份登录到系统,现需创建一个UPDATE语句来修改本用户下ARTISTS表中的数据,并且把每一行的T_ID值都改成15,应该使用的SQL语句是________________________;四、编程题:(本题共2小题,每题10分,共20分)1.请按要求完成以下程序的编写。(5空,每空2分,共10分)以下存储过程借助游标用于实现对员工工资(Sal)的调整,调整方案为:对于员工号(empno)在7000到7200间的员工,若其原工资在1000之下,则加薪20%。(1)请完成以下程序:CREATEORREPLACEPROCEDURERise_salISv_empnoEmp.empno%type;v_salEmp.sal%type;V_ErrorTextVarchar(200);CURSORcursor_sal//定义游标CURSORcursor_salIS_______①_______//BEGIN______②________;//打开游标LOOPFETCHcursor_sal_____③_______;EXITWHENcursor_sal%NOTFOUND;//逐行提取数据IFv_sal1500THENUPDATEEmpSETsal=sal*0.20+Sal//更新数据ENDLOOP;线订装第5页共6页考生信息栏系专业级班级姓名学号装订线CLOSEcursor_sal;//关闭游标_____④______;//提交事务ExceptionWhenothersTHENCLOSEcursor_sal;//关闭游标rollback;//回滚事务v_Errortext:='游标使用错误';dbms_output.put_line('程序异常终止,出现以下错误:'||v_Errortext);END;(2)假设用户已登录SQLPlus系统,处于“SQL_”命令提示符下,现需执行存储过程Rise_sal,请写出命令:_______⑤___________2.创建一个函数get_sal,用于实现对表Emp(如下图)给定一个员工号(Empno),通过函数获取该雇员的工资值,请完成以下程序。(1)请将函数get_sal补充完整(3空,每空2分,共6分)CREATEORREPLACEFUNCTIONget_sal(v_emp_noINemp.empno%TYPE)______________IS______________emp.sal%TYPE:=0;BEGINSELECTsalINTOv_emp_salFROMemp第6页共6页WHEREempno=______________;RETURN(v_emp_sal);ENDget_sal;(2)用函数get_sal查询员工7521号的工资,请写出一种查询方式。(4分)第7页共2页课程名称一、选择题:(本题共20小题,每题2分,共40分)题号12345题号678910答案DBBDA答案CCBDD题号1112131415题号1617181920答案AAACC答案BBCCA二、填空题(本大题共8小题,10空,每空1分,共10分)题号答案1-2角色数据3数据定义语句(DDL)数据控制语句(DCL)4select5-6基本表select7ROLLBACKCOMMIT8用户进程三、程序填空题(共10小题,10空需要填写,每空3分,共30分)题号答案1connscott/tigerassysdba;2createuserLisaidentifybyLisa3alteruserLisaaccountunlock;4grantselectonemptoLisa;5connLisa/Lisa;6descClass;7saveC:\class.txt;8selecttable_namefromuser_tables;9AddconstraintPK_CLASS_IDPRIMARYKEY(ID);10updateartistssetT_ID=15;第8页共2页四、编程题(本大题共2小题,每题10分,共20分)1.(5空,每空2分,共10分)(1)SELECTempno,salFROMemployeeWHEREempnoBETWEEN7300AND7600;(2)OPENcursor_sal(3)INTOv_empno,v_sal(4)COMMIT;(5)EXECRise_sal;2.(1)请将函数get_sal补充完整(3空,每空2分,共6分)RETURNNUMBERv_emp_salv_emp_no(2)用函数get_sal查询员工7521号的工资,请写出一种查询方式。(4分)Selectget_sal(7521)fromdual;