2013_数据库管理工程师-笔试题 - 答案

2019-01-26 19:17

数据库管理工程师招聘试题

XXXX感谢您对本套试题的回答,首先请您填写上您的姓名(____________),本套试题将作为XXXX入职的参考,多谢您的重视。本套试题分二部分:填空题、简答题。时间60分钟,满分100分。

一、填空题(20分 每题1分) [“/”表示多个答案,任意一个即可]

1. 转换init.ora到spfile命令( create spfile from pfile ) 2. 通过( alert.log )可以查看数据库引擎的报错

3. 通过( set autotrace on/explain plan for )命令可以查看SQL语句的执行计划 4. 通过( 10046 )事件可以跟踪SQL的执行过程,进行性能分析 5. 通过( 10053 )事件可以分析SQL语句执行计划的生成过程、原因 6. 位图索引主要用于( 数据仓库 )位图联接索引主要用于( 数据仓库 ) 7. 当用户进程出错,哪个后台进程负责清理它( PMON )

8. 哪个后台进程刷新materialized views( The Job Queue Processes / CJQ) 9. 如何进行强制LOG SWITCH( ALTER SYSTEM SWITCH LOGFILE )

10. 创建数据库时自动建立的tablespace有( SYSTEM ) ( TEMP )( USERS ) ( UNDOTBS ) ( SYSAUX ) [任意4个即可]

11. 哪个VIEW用来检查数据文件的大小( DBA_DATA_FILES )

12. 哪个VIEW用来判断tablespace的剩余空间( DBA_FREE_SPACE )

13. 你刚刚编译了一个PL/SQL Package但是有错误报道,如何显示出错信息?(SHOW ERRORS )

14. 请列出网络连接的2个文件( tnsname.ora )( sqlnet.ora )

15. 创建用户时,需要赋予新用户什么权限才能使它联上数据库( CONNECT )

16. 请列举ETL工具(OWB/ODI/Informatic PowerCenter/AICloudETL/DataStage/Repository Explorer/Beeload/Kettle/DataSpider/DTS/SSIS 至少任意一个 )

17. 命令( truncate table )删除表中所有数据的同时可以移动表的高水位线

18. 命令( alter table move / alter table shrink space )可以消除表的碎片,( alter index rebuild )可以消除索引碎片,( alter database datafile resize )可以收缩数据文件

19. STAR SCHEMA中的两种表( Fact tables/事实表 )( dimension tables/维度表 )

20. 列举Buffer cache有关的几个chain( LRU ) ( LRU-AUX ) ( LRUW ) ( LRUW-AUX ) ( CKPT-Q )( CBC/buffer cache chain ) [至少5个]

二、简答题(80分 每题5分)

1. 简述oracle数据库有那些类型的文件,及用途? 参数文件:记载数据库的启动参数和性能调节参数 密码文件:主要进行DBA权限的身份认证

控制文件:记载数据库的重要信息,如:数据库的名字、检查点信息、创建时间戳、数据文件信息、联机日志文件信息、归档日志信息、备份信息等

数据文件:用于记录系统数据、用户数据、临时数据、回滚数据 日志文件:记录数据库操作的重做信息

第 1 页 共 4 页

数据库管理工程师招聘试题

跟踪文件:记录系统的运行信息,用于对系统进行诊断和分析

2. oracle系统进程主要有哪些,作用是什么? SMON:例程恢复、合并空间碎片并释放临时段

PMON:监视服务器进程的执行、并且在服务器进程失败时清除该服务器进程 DBWR:将调整缓存的脏缓冲区数据写入到数据文件中 LGWR:将重做日志缓冲区的内容写入到重做日志文件中

CKPT:发出检查点,同步数据库的数据文件、控制文件和重做日志 ARCH:将重做日志复制到归档日志中

3. SGA主要有那些部分,主要作用是什么?

Shared Pool:存放最近执行的SQL语句和数据字典信息 Buffer Cache:存放最近访问的数据块信息 Redo Log uffer:记载例程变化/事务数据

4. 日志的作用是什么?

重做日志用于记载事务操作所引进的数据库变化,让数据库变化能在最短的时间内得以保存到物理介质上

5. 回滚段的作用是什么?

回滚段用于对数据库修改时, 保存原有的数据, 以便稍后可以通过使用ROLLBACK来恢复到修改前的数据; 另外, 回滚段可以为数据库中的所有进程提供读一致性

6. Pctused and Pctfree 表示什么含义,有什么作用?

PCTFREE:为一个块保留的空间百分比,表示数据块在什么情况下可以被insert,默认是10,表示当数据块的可用空间低于10%后,就不可以被insert了,只能被用于update;即:当使用一个block时,在达到pctfree之前,该block是一直可以被插入的,这个时候处在上升期。

PCTUSED:是指当块里的数据低于多少百分比时,又可以重新被insert,一般默认是40,

即40%,即:当数据低于40%时,又可以写入新的数据,这个时候处在下降期。

7. 简单描述table / segment / extent / block之间的关系? table创建时,默认创建了一个data segment,

每个data segment含有min extents指定的extents数,

每个extent据据表空间的存储参数分配一定数量的blocks

8. 请简要描述物理备份与逻辑备份,冷备份与热备份,归档与非归档

物理备份:转储数据库物理文件(如数据文件、控制文件、归档日志文件等),一旦数据库发生故障,可以利用这些文件进行还原

逻辑备份:对数据库对象(如用户、表、存储过程等)利用工具进行导出工作,可以利用工具把逻辑备份文件导入到数据库.

冷备份:数据库已经正常关闭的情况下,将关键性文件拷贝到另外位置

热备份:在数据库运行的情况下,采用archivelog mode方式备份数据的方法

归档模式:可以有效的防止instance和disk的故障,在数据库故障恢复中不可或缺

第 2 页 共 4 页

数据库管理工程师招聘试题

非归档模式:不记归档日志,没有办法进行数据恢复

9. 对raid10 和raid5有何认识

RAID 10(或称RAID 1+0)与RAID 0+1不同,它是用硬盘驱动器先组成RAID 1阵列,然后在RAID 1阵列之间再组成RAID 0阵列。

RAID 10模式同RAID 0+1模式一样具有良好的数据传输性能,但却比RAID 0+1具有更高的可靠性。RAID 10阵列的实际容量为M×n/2,磁盘利用率为50%。RAID 10也需要至少4个硬盘驱动器构成,因而价格昂贵。

RAID 10的可靠性同RAID 1一样,但由于RAID 10硬盘驱动器之间有数据分割,因而数据传输性能优良。

RAID 5与RAID 3很相似,不同之处在于RAID 5的奇偶校验信息也同数据一样被分割保存到所有的硬盘驱动器,而不是写入一个指定的硬盘驱动器,从而消除了单个奇偶校验硬盘驱动器的瓶颈问题。RAID 5磁盘阵列的性能比RAID 3有所提高,但仍然需要至少3块硬盘驱动器。其实际容量为M×(n-1),磁盘利用率为(n-1)/n 。

10. 绑定变量是什么?绑定变量有什么优缺点? 绑定变量:目的是减小数据库的解析的次数 优点:减小数据库的解析的次数

缺点:绑定变量被使用时,查询优化器会忽略其具体值,因此其预估的准确性远不如使用字面量值真实,尤其是在表存在数据倾斜(表上的数据非均匀分布)的列上会提供错误的执行计划。从而使得非高效的执行计划被使用

11. 使用索引查询一定能提高查询的性能吗?为什么?

通常,通过索引查询数据比全表扫描要快.但是我们也必须注意到它的代价.索引需要空间来存储,也需要定期维护, 每当有记录在表中增减或索引列被修改时,索引本身也会被修改. 这意味着每条记录的INSERT,DELETE,UPDATE将为此多付出4,5 次的磁盘I/O. 因为索引需要额外的存储空间和处理,那些不必要的索引反而会使查询反应时间变慢.使用索引查询不一定能提高查询性能,索引范围查询(INDEX RANGE SCAN)适用于两种情况: 基于一个范围的检索,一般查询返回结果集小于表中记录数的30%宜采用;

索引就是为了提高查询性能而存在的,如果在查询中索引没有提高性能,只能说是用错了索引,或者讲是场合不同

12. 简述碎片如何产生的,有何影响,如何处理?

当表空间中生成一个段时,将从表空间有效自由空间中为这个段的初始范围分配空间。在这些初始范围充满数据时,段会请求增加另一个范围。这样的扩展过程会一直继续下去,直到达到最大的范围值,或者在表空间中已经没有自由空间用于下一个范围。最理想的状态就是一个段的数据可被存在单一的一个范围中。这样,所有的数据存储时靠近段内其它数据,并且寻找数据可少用一些指针。但是一个段包含多个范围的情况是大量存在的,没有任何措施可以保证这些范围是相邻存储的,如图〈1〉。当要满足一个空间要求时,数据库不再合并相邻的自由范围(除非别无选择), 而是寻找表空间中最大的自由范围来使用。这样将逐渐形成越来越多的离散的、分隔的、较小的自由空间,即碎片 影响:致系统性能减弱,浪费大量的表空间 处理:碎片整理,move,rebuild,shrink,exp/imp

第 3 页 共 4 页

数据库管理工程师招聘试题

13. 简述Lock 与latch区别

lock用于database data,针对磁盘 latch用于管理系统资源,针对内存

14. 如何稳固执行计划?

可以在SQL语句中指定执行计划。使用HINTS; 创建并使用stored outline,Base Line,SQL Profile

15. 试述netsted loop 与hash join区别

nested loop: 扫描驱动表(如果有排序,按照 排序字段 排序后),取驱动表的逐行记录与被驱动表对比.

hash join: 先将驱动表hash到内存,再扫描被驱动表(按照物理位置来扫描),逐条取出记录与驱动表来对比.

nested loop适用于被连接的数据子集较小的情况 hash join适用于做大数据集连接

16. 简述OLTP与OLAP的区别,在数据库配置、数据库设计上有何不同? OLTP:是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理

OLAP:是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术

数据库配置:OLTP的PGA较小,OLAP的PGA较大

数据库设计:OLTP强化索引的使用,OLAP索引使用较少,且位图索引,位图联接索引等在OLAP中广泛使用,而OLTP中运用较少

第 4 页 共 4 页


2013_数据库管理工程师-笔试题 - 答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:绿化养护管理技术方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: