还剩19页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
oracle笔试题及答案解析
一、文档说明本文档整理了Oracle数据库技术的典型笔试题及答案解析,涵盖SQL基础、PL/SQL、数据库体系结构、事务管理、性能优化等核心知识点题目难度适中,注重理论与实践结合,适合Oracle初学者巩固基础、备考人员模拟练习及技术人员提升应用能力
二、单项选择题(共30题,每题1分)(注题目后标注核心考察知识点,解析部分结合实践经验说明)
1.以下哪个不是Oracle数据库的体系结构组成部分?()A.SGA(系统全局区)B.PGA(程序全局区)C.UGA(用户全局区)D.DBA(数据库管理员)答案D解析Oracle体系结构包括内存结构(SGA、PGA)、进程结构(服务器进程、后台进程)、文件结构(数据文件、控制文件、日志文件等),DBA是管理员角色,不属于体系结构组成部分
2.SQL语句中,用于限制查询结果行数的关键字是?()A.LIMITB.TOPC.ROWNUMD.FETCH答案C解析Oracle中使用ROWNUM限制结果行数,如SELECT*FROM tableWHEREROWNUM=10;LIMIT是MySQL关键字,TOP是SQL Server关第1页共21页键字,FETCH需配合OFFSET使用(如FETCH FIRST10ROWS ONLY),Oracle12c及以上支持
3.以下关于事务特性(ACID)的描述,错误的是?()A.原子性(Atomicity)事务中的操作要么全做,要么全不做B.一致性(Consistency)事务执行前后,数据状态保持一致C.隔离性(Isolation)多个事务并发执行时互不干扰D.持久性(Durability)事务提交后,数据变更需写入缓存答案D解析持久性(Durability)要求事务提交后,数据变更必须永久保存到磁盘,而非仅缓存缓存数据可能因系统故障丢失,磁盘写入才是持久化的最终保障
4.Oracle中,以下哪个是用于创建索引的语句?()A.CREATE TABLEB.CREATE VIEWC.CREATE INDEXD.CREATE SEQUENCE答案C解析CREATE INDEXidx_name ONtable_namecolumn_name;用于创建索引CREATE TABLE创建表,CREATE VIEW创建视图,CREATESEQUENCE创建序列
5.执行SELECT SYSDATEFROM DUAL;时,SYSDATE返回的是?()A.数据库服务器的系统日期和时间B.数据库创建的日期和时间C.当前会话的登录时间D.上次数据库启动的时间第2页共21页答案A解析SYSDATE是Oracle内置函数,返回数据库服务器的当前系统日期和时间,而非会话或数据库启动时间
6.以下哪个不是Oracle的后台进程?()A.PMON(进程监控)B.SMON(系统监控)C.DBWR(数据写入器)D.DBRM(数据缓冲管理器)答案D解析Oracle的后台进程包括PMON、SMON、DBWR、LGWR(日志写入器)、CKPT(检查点)等,DBRM不是标准后台进程
7.SQL语句SELECT ename,sal FROM emp WHERE sal SELECTAVGsal FROM emp;的作用是?()A.查询所有员工姓名和工资B.查询工资高于平均工资的员工姓名和工资C.查询平均工资D.查询工资最高的员工姓名和工资答案B解析这是子查询语句,内层子查询SELECT AVGsal FROM emp计算所有员工的平均工资,外层查询筛选工资高于该平均值的员工
8.Oracle中,默认的事务隔离级别是?()A.READ UNCOMMITTEDB.READ COMMITTEDC.REPEATABLE READD.SERIALIZABLE第3页共21页答案B解析Oracle默认事务隔离级别为READ COMMITTED,即读取已提交的数据,避免脏读,但可能出现不可重复读和幻读SERIALIZABLE是最高隔离级别,可避免所有并发问题
9.以下哪个命令用于回收用户权限?()A.GRANTB.REVOKEC.COMMITD.ROLLBACK答案B解析REVOKE权限名ON对象FROM用户;用于回收权限,GRANT是授权,COMMIT和ROLLBACK是事务控制语句
10.Oracle中,SCOTT用户默认的表不包括以下哪个?()A.EMP(员工表)B.DEPT(部门表)C.SALGRADE(工资等级表)D.USERS(用户表)答案D解析SCOTT是Oracle示例用户,默认包含EMP、DEPT、BONUS、SALGRADE表,USERS表是系统表空间中的默认用户表,非SCOTT用户所有
11.关于PL/SQL中的游标,以下说法错误的是?()A.显式游标需手动声明、打开、提取、关闭B.隐式游标用于处理单行SQL语句C.游标属性%ROWCOUNT返回提取的行数第4页共21页D.游标属性%FOUND返回SQL语句是否影响数据答案D解析%FOUND返回SQL语句是否成功执行且影响了数据(如SELECT...INTO中INTO变量是否成功赋值),而非“影响数据”本身%ROWCOUNT返回受影响的行数
12.Oracle中,以下哪个不是数据字典视图?()A.DBA_TABLESB.USER_TABLESC.ALL_TABLESD.TABLES答案D解析DBA_TABLES、USER_TABLES、ALL_TABLES是Oracle数据字典视图,分别存储所有用户、当前用户、当前用户可访问的表信息,TABLES不是标准数据字典视图
13.执行DROP TABLEemp;后,以下说法正确的是?()A.表结构被删除,数据保留B.表数据被删除,结构保留C.表及表数据均被永久删除D.表被重命名答案C解析DROP TABLE是DDL语句,直接删除表及表数据,且不可恢复(除非有闪回或备份)
14.Oracle中,SYSDBA权限与SYSOPER权限的主要区别是?()A.SYSDBA可执行数据库启动/关闭,SYSOPER不能B.SYSOPER可执行数据库启动/关闭,SYSDBA不能第5页共21页C.SYSDBA只能用于SYS用户,SYSOPER只能用于SYSTEM用户D.两者无区别答案A解析SYSDBA权限包含启动/关闭数据库、执行备份恢复等高级操作,SYSOPER权限不包含启动/关闭,仅能执行部分管理操作
15.以下SQL语句中,能正确查询每个部门的平均工资的是?()A.SELECT deptno,AVGsal FROM emp GROUP BY deptno;B.SELECT deptno,AVGsal FROM emp WHERE deptno10;C.SELECT deptno,AVGsal FROMemp ORDER BY deptno;D.SELECT deptno,AVGsal FROMemp HAVINGdeptno10;答案A解析GROUPBY deptno将数据按部门分组,AVGsal计算每个组的平均工资WHERE过滤行,HAVING过滤组,ORDER BY排序,无需WHERE或HAVING即可计算平均工资
16.Oracle中,用于创建用户的语句是?()A.CREATE USERB.ALTER USERC.GRANT USERD.CREATE ROLE答案A解析CREATE USERusername IDENTIFIEDBY password;创建用户,ALTER USER修改用户属性,CREATE ROLE创建角色
17.关于Oracle的回滚段(Rollback Segment),以下说法错误的是?()A.回滚段用于存储事务修改前的数据,支持事务回滚第6页共21页B.Oracle10g后引入UNDO表空间替代回滚段C.回滚段可在线添加和删除D.回滚段的大小对事务性能无影响答案D解析回滚段大小影响事务性能,过小可能导致回滚段争用、事务失败,需根据数据量和并发情况合理设置
18.SQL语句SELECT*FROMempWHERE deptno IN SELECT deptnoFROM deptWHERE loc=NEW YORK;的执行结果是?()A.所有部门的员工B.部门在NEW YORK的员工C.部门不在NEW YORK的员工D.错误,子查询返回多行答案B解析子查询返回deptnoINSELECT deptnoFROM deptWHERE loc=NEW YORK,即部门位置为NEW YORK的部门编号,外层查询筛选员工所在部门为这些编号的员工
19.Oracle中,以下哪个不是约束类型?()A.PRIMARY KEYB.FOREIGN KEYC.UNIQUED.AUTO_INCREMENT答案D解析AUTO_INCREMENT是MySQL的自增列关键字,Oracle中使用SEQUENCE实现自增,属于约束的是PRIMARY KEY、FOREIGN KEY、UNIQUE、NOT NULL等第7页共21页
20.执行UPDATE empSET sal=sal*
1.1WHERE deptno=10;后,为确保修改生效,需执行?()A.COMMITB.ROLLBACKC.SAVEPOINTD.LOCK TABLE答案A解析UPDATE是DML语句,修改需通过COMMIT提交后才会永久生效,否则事务回滚会撤销修改
21.Oracle中,SCN(系统改变号)的作用是?()A.记录用户登录次数B.标识数据块的当前版本C.记录表的创建时间D.标识用户会话ID答案B解析SCN是Oracle内部的唯一编号,用于标识数据的版本或事务的顺序,可用于时间点恢复(RMAN恢复)、一致性读等场景
22.以下哪个是Oracle的备份策略?()A.冷备份B.逻辑备份C.增量备份D.以上都是答案D解析Oracle支持冷备份(关闭数据库后备份数据文件)、逻辑备份(如EXP/IMP)、增量备份(仅备份变化数据)等多种备份策略第8页共21页
23.SQL语句SELECT ename,sal FROMemp ORDERBY salDESCNULLS LAST;的作用是?()A.按工资降序排列,NULL值排在最前B.按工资降序排列,NULL值排在C.按工资升序排列,NULL值排在最前D.按工资升序排列,NULL值排在答案B解析ORDERBY...DESC是降序,NULLS LAST指定NULL值排在NULLS FIRST则排在最前
24.Oracle中,V$SESSION数据字典视图的作用是?()A.存储用户表信息B.存储当前会话信息C.存储数据库版本信息D.存储表空间信息答案B解析V$SESSION是动态性能视图,记录当前数据库中所有用户会话的信息,包括会话ID、状态、SQL等
25.关于Oracle的索引,以下说法正确的是?()A.索引越多越好,可提高查询效率B.索引会降低插入/更新/删除的性能C.主键自动创建唯一索引D.以上都正确答案B第9页共21页解析索引虽提升查询效率,但会增加写入开销(需维护索引),并非越多越好;主键会自动创建唯一索引;B选项正确,索引会降低写入性能
26.SQL语句INSERT INTOempempno,ename VALUES1001,张三;中,若表emp的hiredate字段为NOT NULL,则执行该语句会?()A.成功插入,hiredate自动设为当前日期B.成功插入,hiredate设为NULLC.失败,因hiredate字段未提供值D.失败,因表结构不匹配答案C解析INSERT语句中,若未为NOT NULL字段提供值,会报“ORA-00947:not enoughvalues”错误,因字段列表需包含所有非NULL字段
27.Oracle中,RMAN工具的主要作用是?()A.管理用户权限B.执行数据库备份与恢复C.监控数据库性能D.创建表空间答案B解析RMAN(Recovery Manager)是Oracle官方提供的备份恢复工具,支持全量、增量、异构备份等
28.以下关于Oracle存储过程的描述,错误的是?()A.存储过程可包含参数B.存储过程需编译后执行第10页共21页C.存储过程只能在SQL*Plus中执行D.存储过程可提高执行效率答案C解析存储过程可在PL/SQL块、SQL语句、应用程序(如Java、Python)中调用,并非只能在SQL*Plus中执行
29.Oracle中,DML语句不包括以下哪个?()A.SELECTB.INSERTC.ALTERD.UPDATE答案C解析ALTER是DDL(数据定义语言)语句,用于修改表结构;SELECT、INSERT、UPDATE、DELETE是DML(数据操作语言)语句
30.关于Oracle的锁机制,以下说法正确的是?()A.行级锁比表级锁粒度大B.行级锁会阻塞表级锁C.表级锁会阻塞行级锁D.行级锁和表级锁互不影响答案C解析表级锁(如LOCK TABLE...IN EXCLUSIVEMODE)会锁定整个表,导致其他会话无法访问表中任何行,即表级锁会阻塞行级锁;行级锁仅锁定部分行记录,阻塞其他会话对同一行的冲突锁
三、多项选择题(共20题,每题2分)
1.以下属于Oracle数据库文件的有?()A.数据文件(.dbf)第11页共21页B.控制文件(.ctl)C.日志文件(.log)D.参数文件(.par)答案ABC解析Oracle数据库文件包括数据文件(存储数据)、控制文件(存储数据库元数据)、日志文件(记录事务日志)、参数文件(初始化参数)等,par不是标准后缀,参数文件通常为.pfile或.spfile
2.以下关于PL/SQL的描述,正确的有?()A.PL/SQL是过程化SQL语言B.可在PL/SQL中使用循环、条件等控制结构C.PL/SQL只能在存储过程中使用D.PL/SQL支持变量和数据类型答案ABD解析PL/SQL是Oracle对SQL的过程化扩展,支持变量、循环、条件、存储过程、函数等,可在SQL*Plus、PL/SQL Developer等工具中直接执行,并非只能在存储过程中使用
3.Oracle中,可用于限制查询结果的关键字有?()A.ROWNUMB.LIMITC.FETCH FIRSTD.TOP答案AC解析Oracle12c及以上支持FETCH FIRSTn ROWSONLY限制行数,ROWNUM是Oracle传统方式;LIMIT(MySQL)、TOP(SQL Server)不支持第12页共21页
4.以下属于Oracle事务控制语句的有?()A.COMMITB.ROLLBACKC.SAVEPOINTD.LOCK TABLE答案ABC解析COMMIT提交事务,ROLLBACK回滚事务,SAVEPOINT设置保存点;LOCK TABLE是表锁定语句,非事务控制
5.关于Oracle的索引,以下描述正确的有?()A.索引可提高查询效率B.索引会增加存储开销C.索引会降低插入性能D.索引可通过DROP INDEX删除答案ABCD解析索引通过减少全表扫描提升查询效率,但会占用存储空间并增加写入开销,删除索引用DROP INDEX
6.以下属于Oracle数据字典的有?()A.DBA_TABLESB.USER_CONSTRAINTSC.V$INSTANCED.ALL_USERS答案ABD解析DBA_TABLES(所有表)、USER_CONSTRAINTS(当前用户约束)、ALL_USERS(所有用户)是数据字典视图;V$INSTANCE是动态性能视图(以V$开头)第13页共21页
7.Oracle中,可用于备份的工具或命令有?()A.EXP/IMPB.RMANC.EXPDP/IMPDPD.SQL*Loader答案ABC解析EXP/IMP是传统逻辑备份工具,EXPDP/IMPDP是数据泵(更高效的逻辑备份),RMAN是物理备份工具;SQL*Loader用于数据加载,非备份工具
8.以下关于Oracle用户权限的描述,正确的有?()A.系统权限可授予用户执行特定操作的权利B.对象权限可授予用户操作特定对象的权利C.REVOKE用于回收权限D.GRANT用于授予权限答案ABCD解析系统权限(如CREATE SESSION)和对象权限(如SELECT ONtable)是Oracle权限的两种类型,GRANT授权,REVOKE回收
9.Oracle中,以下属于并发控制机制的有?()A.锁机制B.事务隔离级别C.回滚段D.行迁移答案ABC第14页共21页解析锁机制(行锁、表锁)、事务隔离级别(控制并发问题)、回滚段(多版本控制)是并发控制的核心机制;行迁移是数据存储优化,与并发无关
10.以下SQL语句中,使用了子查询的有?()A.SELECT*FROMempWHEREdeptno=SELECT deptnoFROM deptWHEREdname=ACCOUNTING;B.SELECT e.ename,d.dname FROMemp e,dept dWHERE e.deptno=d.deptno;C.SELECT deptno,AVGsal FROMemp GROUPBYdeptnoHAVINGAVGsal SELECTAVGsalFROMemp;D.SELECT deptno,salFROMemp UNIONSELECTdeptno,sal FROMemp;答案AC解析A选项是单行子查询,C选项是HAVING子查询;B是表连接,D是集合操作(UNION),不含子查询
11.Oracle中,以下关于表空间的描述,正确的有?()A.表空间是数据库的逻辑存储单元B.每个数据库至少有一个表空间C.数据文件属于表空间D.表空间可在线扩展答案ACD解析表空间是逻辑存储单元,数据文件是物理存储文件(属于表空间),支持在线扩展;Oracle数据库至少有SYSTEM表空间,B选项“至少一个”正确(但原答案可能认为B正确,需注意Oracle12c可创建多表空间,但SYSTEM是必须的,B正确)第15页共21页
12.以下属于Oracle性能优化方法的有?()A.创建合适的索引B.优化SQL语句(避免全表扫描)C.增加内存(如SGA)D.减少事务数量答案ABCD解析创建索引、优化SQL、增加内存、减少事务等都是Oracle性能优化的常见方法
13.Oracle中,UNDO表空间的作用有?()A.支持事务回滚B.提供一致性读C.存储数据备份D.记录用户操作日志答案AB解析UNDO表空间存储事务回滚数据和一致性读数据(多版本控制),数据备份需通过RMAN等工具,用户操作日志非UNDO作用
14.以下关于Oracle的SEQUENCE(序列)描述,正确的有?()A.序列可自动生成唯一值B.序列需通过NEXTVAL获取下一个值C.序列可设置起始值和步长D.序列创建后不可修改答案ABC解析序列通过NEXTVAL生成下一个值,CURRVAL获取当前值,支持设置起始值、步长、循环/缓存选项;序列可通过ALTER SEQUENCE修改第16页共21页
15.Oracle中,以下属于DML语句的有?()A.INSERTB.UPDATEC.DELETED.CREATE答案ABC解析CREATE是DDL语句,INSERT、UPDATE、DELETE、SELECT是DML语句
16.关于Oracle的备份恢复策略,以下描述正确的有?()A.冷备份需关闭数据库B.热备份可在数据库运行时进行C.增量备份比全量备份更节省空间D.备份后需验证备份有效性答案ABCD解析冷备份(离线备份)需关闭数据库,热备份(在线备份)可在运行时进行;增量备份仅备份变化数据,节省空间;备份后验证是确保恢复可行性的关键
17.Oracle中,以下关于ROWNUM和ROW_NUMBER的区别,正确的有?()A.ROWNUM是伪列,ROW_NUMBER是分析函数B.ROWNUM可直接用于限制行数C.ROW_NUMBER可对数据分区排序D.ROWNUM和ROW_NUMBER功能完全相同答案ABC第17页共21页解析ROWNUM是Oracle伪列,ROW_NUMBER是12c及以上的分析函数,支持分区和排序,功能更强大,并非完全相同
18.以下属于Oracle的后台进程的有?()A.LGWR(日志写入器)B.CKPT(检查点)C.ARCH(归档进程)D.SMON(系统监控)答案ABCD解析LGWR(日志写入)、CKPT(检查点)、ARCH(归档)、SMON(系统监控)均为Oracle后台进程(ARCH在归档模式下存在)
19.Oracle中,TRUNCATE和DELETE命令的区别有?()A.TRUNCATE是DDL,DELETE是DMLB.TRUNCATE删除全表数据,DELETE可按条件删除C.TRUNCATE不可回滚,DELETE可回滚D.TRUNCATE会重置自增列,DELETE不会答案ABCD解析TRUNCATE是DDL,删除数据后不可回滚,重置自增列;DELETE是DML,可条件删除,可回滚,不重置自增列
20.以下关于Oracle的事务特性(ACID),正确的描述有?()A.原子性事务中的操作要么全部完成,要么全部不完成B.一致性事务执行前后,数据满足业务规则C.隔离性多个事务并发执行时,互不干扰D.持久性事务提交后,数据变更永久保存答案ABCD第18页共21页解析ACID是事务的四大特性,A(原子性)、B(一致性)、C(隔离性)、D(持久性)均正确
四、判断题(共20题,每题1分)
1.Oracle中,SYS用户是最高权限用户,默认密码固定为“manager”()答案×解析SYS用户是Oracle的系统用户,但密码并非固定,需在创建数据库时设置
2.SELECT*FROMempWHEREsalBETWEEN1000AND3000;可查询工资在1000到3000之间(包含边界)的员工()答案√解析BETWEEN...AND...包含边界值
3.Oracle中,一个表只能创建一个主键约束()答案√解析主键约束唯一标识表中的行,一个表只能有一个主键
4.COMMIT和ROLLBACK都是事务控制语句,都会结束当前事务()答案√解析COMMIT提交事务,ROLLBACK回滚事务,均结束当前事务
5.Oracle的SGA中,数据缓冲区(Buffer Cache)用于缓存数据块,日志缓冲区(Log Buffer)用于缓存事务日志()答案√解析SGA的核心组件包括数据缓冲区、日志缓冲区、共享池等,功能描述正确
6.V$SESSION视图记录了当前所有用户的会话信息,包括SQL执行情况()第19页共21页答案√解析V$SESSION包含会话ID、状态、当前执行的SQL等信息
7.Oracle中,UNION和UNION ALL的区别是前者会去重,后者不会()答案√解析UNION默认去重,UNION ALL保留所有结果,包括重复行
8.表级锁的粒度小于行级锁()答案×解析表级锁锁定整个表,行级锁锁定部分行,表级锁粒度更大
9.Oracle的EXP工具可将数据导出为XML格式()答案×解析EXP默认导出为二进制文件,EXPDP支持数据泵导出,可生成XML格式,但EXP不支持
10.FOR UPDATE子句用于查询时锁定行,防止其他事务修改()答案√解析SELECT...FOR UPDATE对查询结果加行锁,其他事务需等待锁释放
11.Oracle中,SYSDATE和SYSTIMESTAMP返回的都是数据库服务器的当前时间,无区别()答案×解析SYSDATE返回日期类型,SYSTIMESTAMP返回时间戳类型(包含时区和微秒),有区别
12.DROP TABLE语句删除表后,表的索引也会被自动删除()答案×第20页共21页解析DROP TABLE删除表和数据,索引不会被自动删除,需手动删除第21页共21页。
个人认证
优秀文档
获得点赞 0