2025年oracle数据库期末考试题及答案_第1页
2025年oracle数据库期末考试题及答案_第2页
2025年oracle数据库期末考试题及答案_第3页
2025年oracle数据库期末考试题及答案_第4页
2025年oracle数据库期末考试题及答案_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2025年oracle数据库期末考试题及答案(说明:考试时长120分钟,满分100分,考核版本为教学主流稳定版Oracle19c)一、单项选择题(共15题,每题2分,共30分)1.下列关于Oracle19c体系结构的描述中,错误的是()A.实例由SGA和后台进程组成,实例启动后才能挂载数据库B.重做日志文件组至少需要2个,每个组内的成员是镜像关系C.撤销表空间专门存储回滚数据,仅支持事务回滚场景使用D.控制文件存储数据库的物理结构信息,建议至少多路复用2份答案:C解析:撤销表空间的回滚数据除了事务回滚,还用于读一致性、闪回查询、闪回事务、实例恢复等多个场景。2.下列SQL语句中,符合Oracle语法规范且能正确查询EMP表中“部门编号为10、入职时间早于2020年1月1日”的员工姓名和薪资的是()A.SELECTename,salFROMempWHEREdeptno=10ANDhiredate<'2020-01-01'B.SELECTename,salFROMempWHEREdeptno=10ANDhiredate<TO_DATE('2020-01-01','YYYY-MM-DD')C.SELECTename,salFROMempWHEREdeptno='10'ANDhiredate<DATE'2020-01-01'D.B和C都正确答案:D解析:Oracle中日期字面量`DATE'YYYY-MM-DD'`是ANSI标准写法,TO_DATE显式转换也符合语法规范;deptno为NUMBER类型时,写数字10或字符'10'会触发隐式类型转换,语句均可正确执行。3.下列关于PL/SQL块结构的描述,正确的是()A.声明部分以DECLARE开头,必须包含至少1个变量声明B.执行部分以BEGIN开头、END结尾,是PL/SQL块的必需部分C.异常处理部分以EXCEPTION开头,是PL/SQL块的必需部分D.命名块仅包括存储过程和函数两种类型答案:B解析:声明部分、异常处理部分均为可选模块,无变量、无异常捕获逻辑时可省略;命名块包括存储过程、函数、触发器、包、类型等多种存储在数据字典中的对象类型。4.Oracle中,若要给用户test授予查询scott用户下EMP表的权限,且允许test将该权限再授予其他用户,对应的SQL语句是()A.GRANTSELECTONscott.empTOtestWITHADMINOPTIONB.GRANTSELECTONscott.empTOtestWITHGRANTOPTIONC.GRANTSELECTEMPTOtestWITHGRANTOPTIOND.GRANTSELECTscott.empTOtestWITHADMINOPTION答案:B解析:对象权限授权使用`WITHGRANTOPTION`,系统权限授权使用`WITHADMINOPTION`,查询表属于对象权限,因此B为正确写法。5.下列关于Oracle表约束的描述,错误的是()A.主键约束默认会创建唯一索引,且主键列不允许为空B.唯一约束允许空值,且一张表可以有多个唯一约束C.检查约束中可以使用SYSDATE、USER等动态函数D.外键约束要求子表外键列的值必须在父表被引用列中存在,或者为空答案:C解析:检查约束中不能使用SYSDATE、USER等动态函数,也不能引用其他行的字段值,否则会出现行级数据一致性问题。6.现有表A(idNUMBER,nameVARCHAR2(20)),包含1000条数据,其中id列有100个唯一值、其余为重复值,无NULL值,执行下列语句后返回的行数是()`SELECTCOUNT(DISTINCTid)FROMA;`A.1000B.100C.900D.0答案:B解析:`COUNT(DISTINCT列名)`统计该列非空的唯一值数量,题目明确id的唯一值数量为100,因此返回结果为100。7.下列Oracle后台进程中,负责将脏缓冲区数据写入数据文件的是()A.LGWRB.DBWnC.CKPTD.SMON答案:B解析:LGWR负责将重做日志缓冲区内容写入重做日志文件;CKPT负责触发检查点,更新控制文件和数据文件头的检查点信息;SMON负责实例恢复、整理表空间空闲空间。8.若要创建一个索引,提高EMP表中deptno和sal列组合查询的性能,且查询中经常只使用deptno作为过滤条件,下列最优的索引创建方式是()A.分别创建deptno单列索引、sal单列索引B.创建(deptno,sal)联合B树索引C.创建(sal,deptno)联合B树索引D.创建(deptno,sal)联合位图索引答案:B解析:联合索引的前缀列可单独用于查询过滤,将常用的单独过滤列deptno放在联合索引前列,可同时支持deptno单独过滤、deptno+sal组合过滤的场景,效率最高;位图索引适合低基数列、表更新频率极低的场景,EMP是频繁更新的业务表,不适合使用位图索引。9.下列关于Oracle备份恢复的描述,正确的是()A.冷备份属于物理备份,仅在数据库处于ARCHIVELOG模式下才能进行B.热备份属于物理备份,在数据库运行状态下即可执行,要求数据库处于ARCHIVELOG模式C.逻辑备份使用exp/imp或expdp/impdp工具,备份内容仅包括表数据,不包括对象结构D.实例故障发生后,需要DBA手动执行不完全恢复操作才能恢复数据答案:B解析:冷备份在数据库关闭状态下执行,不需要开启归档模式;逻辑备份包含对象结构、数据、约束、权限等完整信息;实例故障由SMON自动完成实例恢复,不需要DBA手动干预。10.PL/SQL中,下列关于游标属性的描述,错误的是()A.%FOUND属性返回布尔值,最近一次FETCH操作返回数据时为TRUEB.%NOTFOUND属性返回布尔值,最近一次FETCH操作未返回数据时为TRUE,常用于循环退出条件C.%ROWCOUNT属性返回数值,代表游标打开后累计获取的总行数D.%ISOPEN属性返回布尔值,游标关闭时为TRUE答案:D解析:%ISOPEN属性在游标打开时返回TRUE,关闭时返回FALSE。11.Oracle中,下列关于表空间的描述,正确的是()A.SYSTEM表空间存储数据字典信息,支持脱机操作B.TEMP表空间是永久表空间,存储排序操作产生的临时数据C.一个表空间可以包含多个数据文件,一个数据文件只能属于一个表空间D.普通用户创建的表默认存储在SYSTEM表空间答案:C解析:SYSTEM表空间不允许脱机,否则数据库核心字典数据无法访问;TEMP是临时表空间,重启后数据自动清空;普通用户创建的表默认存储在用户默认表空间,未指定时默认是USERS表空间。12.执行下列SQL语句后,输出结果是()`SELECTNVL2(NULL,'A','B')FROMDUAL;`A.AB.BC.NULLD.语法报错答案:B解析:NVL2(参数1,参数2,参数3)的逻辑是:参数1不为NULL返回参数2,为NULL返回参数3。13.下列关于Oracle性能优化的描述,错误的是()A.绑定变量可以减少SQL硬解析的次数,提高OLTP系统性能B.对大表执行全表扫描的效率一定低于索引扫描C.共享池的大小设置不合理会导致SQL硬解析次数过多,影响性能D.排序操作尽量在内存中完成,避免使用临时表空间磁盘排序答案:B解析:当查询返回数据量占表总数据量的10%以上时,全表扫描的效率通常高于索引扫描,因为索引扫描需要回表访问数据块,随机IO开销更高。14.Oracle中,若要查询每个部门的平均薪资,且仅返回平均薪资大于5000的部门信息,下列语句正确的是()A.SELECTdeptno,AVG(sal)FROMempWHEREAVG(sal)>5000GROUPBYdeptno;B.SELECTdeptno,AVG(sal)FROMempGROUPBYdeptnoWHEREAVG(sal)>5000;C.SELECTdeptno,AVG(sal)FROMempGROUPBYdeptnoHAVINGAVG(sal)>5000;D.SELECTdeptno,AVG(sal)FROMempHAVINGAVG(sal)>5000GROUPBYdeptno;答案:C解析:聚合函数的过滤条件需要放在HAVING子句中,HAVING子句必须位于GROUPBY子句之后。15.下列关于Oracle闪回技术的描述,错误的是()A.闪回查询可以查询过去某个时间点的表数据,依赖撤销表空间的回滚数据B.闪回删除可以恢复误删除的表,依赖回收站功能C.闪回数据库可以将数据库恢复到过去某个时间点,不需要备份支持D.闪回版本查询可以查询行数据的历史修改记录答案:C解析:闪回数据库需要启用闪回日志功能,且依赖归档日志支持,仅能恢复到闪回日志生成后的时间点,无法替代全量备份的作用。二、多项选择题(共5题,每题4分,共20分,多选、少选、错选均不得分)1.下列属于OracleSGA组成部分的有()A.共享池B.缓冲区高速缓存C.PGAD.重做日志缓冲区E.私有排序区答案:ABD解析:SGA(系统全局区)包括共享池、数据库缓冲区高速缓存、重做日志缓冲区、大池、Java池等;PGA(程序全局区)是服务进程私有内存区域,私有排序区属于PGA的组成部分。2.下列PL/SQL对象中,属于存储在数据库中的命名块的有()A.匿名块B.存储过程C.函数D.触发器E.包答案:BCDE解析:匿名块不会存储在数据库数据字典中,每次执行都需要重新编译,其余均为命名块,可持久存储在数据库中重复调用。3.下列关于Oracle事务特性的描述,正确的有()A.原子性:事务中的所有操作要么全部成功,要么全部失败回滚B.一致性:事务执行前后,数据库的完整性约束不被破坏C.隔离性:多个事务并发执行时,一个事务的执行不受其他事务的影响D.持久性:事务提交后,对数据的修改是永久的,即使系统故障也不会丢失E.Oracle中事务默认是自动提交的答案:ABCD解析:Oracle中事务默认是手动提交的,需要显式执行COMMIT语句才会提交,客户端断开连接时未提交的事务会自动回滚。4.下列关于Oracle索引的描述,正确的有()A.B树索引是默认的索引类型,适合高基数列B.位图索引适合低基数列、更新频率低的表C.函数索引可以提高带函数的过滤条件的查询性能D.索引越多越好,能显著提高所有查询的性能E.唯一索引不允许出现重复的非空值答案:ABCE解析:索引会降低INSERT、UPDATE、DELETE等DML操作的性能,因为每次数据修改都需要同步维护所有关联索引,因此索引需要按需创建,并非越多越好。5.下列操作中,需要DBA角色权限才能执行的有()A.创建表空间B.创建用户C.启动和关闭数据库实例D.查询scott用户下的EMP表E.授予其他用户系统权限答案:ABCE解析:查询scott用户下的EMP表只需要被授予SELECT对象权限即可,不需要DBA级别的高权限。三、判断题(共10题,每题1分,共10分,正确填√,错误填×)1.Oracle中,VARCHAR2类型的最大长度在SQL层面默认是4000字节,开启扩展数据类型后最大可达32767字节。(√)2.PL/SQL中,存储过程必须有返回值,函数可以没有返回值。(×)解析:函数必须通过RETURN语句指定返回值,存储过程可以没有返回值,通过OUT参数传递结果。3.Oracle数据库监听器的默认端口号是1521。(√)4.DELETE语句删除表中所有数据时,不会释放表占用的高水位线空间,且可以回滚。(√)5.同一个重做日志文件组中的成员大小可以不一致。(×)解析:同一个重做日志文件组中的成员大小必须完全一致,否则会导致日志写入异常。6.Oracle中,序列的NEXTVAL伪列每次调用都会生成一个新的序列号,CURRVAL伪列返回当前会话最近一次生成的序列号。(√)7.外键约束的父表删除操作时,若子表有对应记录,默认会直接删除父表记录,子表记录置空。(×)解析:默认情况下父表删除对应记录时会触发完整性约束报错,只有指定ONDELETECASCADE时才会级联删除子表记录,指定ONDELETESETNULL时才会将子表外键列置空。8.归档模式下,重做日志文件在被覆盖前会被归档到归档日志目录。(√)9.PL/SQL中,EXCEPTION部分捕获异常后,如果没有重新抛出异常,程序会继续执行块外的后续代码。(√)10.AWR报告是Oracle性能诊断的常用工具,记录了数据库一段时间内的性能统计数据。(√)四、简答题(共3题,每题5分,共15分)1.请简述Oracle数据库启动的三个阶段及每个阶段的核心操作。答案:(1)NOMOUNT阶段:读取参数文件(spfile/pfile),启动实例,分配SGA内存,启动后台进程,此时实例与数据库未关联,可用于创建数据库、重建控制文件等操作。(2分)(2)MOUNT阶段:根据参数文件中控制文件的路径读取控制文件,获取数据库的物理结构信息(数据文件、重做日志文件的位置、名称、状态等),此时数据库处于关闭状态,可用于数据文件恢复、重命名数据文件、修改归档模式等操作。(2分)(3)OPEN阶段:检查所有数据文件和重做日志文件的一致性,若存在不一致则自动完成实例恢复,验证通过后打开所有数据文件和重做日志文件,允许普通用户访问数据库。(1分)2.请简述Oracle中DELETE、TRUNCATE、DROP三个操作的区别。答案:(1)操作类型不同:DELETE是DML操作,支持回滚;TRUNCATE和DROP是DDL操作,默认自动提交,无法回滚。(1分)(2)操作对象不同:DELETE删除表中指定或所有数据,保留表结构;TRUNCATE删除表中所有数据,保留表结构;DROP删除表的结构、数据、索引、约束、权限等所有关联对象。(1分)(3)空间释放不同:DELETE不会释放表占用的高水位线空间;TRUNCATE会释放表占用的高水位线空间;DROP会释放表对应的所有存储空间。(1分)(4)性能不同:DELETE需要记录逐行修改的重做日志,大表删除速度慢;TRUNCATE和DROP仅修改数据字典元数据,记录的重做日志量极少,执行速度快。(1分)(5)触发器触发逻辑不同:DELETE会触发表上的DELETE触发器;TRUNCATE和DROP不会触发DML触发器。(1分)3.请简述Oracle中硬解析和软解析的区别,以及减少硬解析的常用方法。答案:硬解析:当SQL语句第一次执行时,Oracle会对SQL进行语法检查、语义检查、权限验证、生成最优执行计划、将执行计划存入共享池,整个过程CPU开销大,执行效率低。(1分)软解析:当相同的SQL语句再次执行时,Oracle直接从共享池中读取已有的执行计划,不需要重新生成,开销小,执行效率高。(1分)减少硬解析的常用方法:(1)使用绑定变量,避免字面量导致相同逻辑的SQL被识别为不同的语句。(1分)(2)合理设置共享池大小,避免执行计划被频繁换出。(1分)(3)使用SQL概要文件、SQL计划基线等方式固定执行计划,避免重复解析。(1分)五、实操题(共2题,第一题7分,第二题8分,共15分)1.现有业务场景:需要创建用户test_user,默认表空间为USERS,临时表空间为TEMP,密码为Test@1234,要求密码每90天过期,用户可使用的USERS表空间配额为100M。然后给该用户授予创建会话、创建表、创建序列的系统权限,且允许该用户将创建会话的权限授予其他用户。请写出对应的SQL语句。答案:```sql-创建用户并设置属性CREATEUSERtest_userIDENTIFIEDBYTest@1234DEFAULTTABLESPACEUSERSTEMPORARYTABLESPACETEMPQUOTA100MONUSERSPROFILEDEFAULTPASSWORDEXPIRELIMITPASSWORD_LIFE_TIME90;-授权GRANTCREATESESSIONTOtest_userWITHADMINOPTION;GRANTCREATETABLE,CREATESEQUENCETOtest_user;```评分标准:用户创建语句4分(用户标识、表空间配置、配额配置、密码策略各1分),授权语句3分(CREATESESSION授权2分,其余权限授权1分)。2.现有两张业务表:EMP表(empnoNUMBERPRIMARYKEY,enameVARCHAR2(20),deptnoNUMBER,salNUMBER,hiredateDATE)DEPT表(deptnoNUMBERPRIMARYKEY,dnameVARCHAR2(20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论