数据库程序员面试分模拟题2.docx

上传人:王** 文档编号:1342950 上传时间:2024-06-20 格式:DOCX 页数:18 大小:54.71KB
下载 相关 举报
数据库程序员面试分模拟题2.docx_第1页
第1页 / 共18页
数据库程序员面试分模拟题2.docx_第2页
第2页 / 共18页
数据库程序员面试分模拟题2.docx_第3页
第3页 / 共18页
数据库程序员面试分模拟题2.docx_第4页
第4页 / 共18页
数据库程序员面试分模拟题2.docx_第5页
第5页 / 共18页
数据库程序员面试分模拟题2.docx_第6页
第6页 / 共18页
数据库程序员面试分模拟题2.docx_第7页
第7页 / 共18页
数据库程序员面试分模拟题2.docx_第8页
第8页 / 共18页
数据库程序员面试分模拟题2.docx_第9页
第9页 / 共18页
数据库程序员面试分模拟题2.docx_第10页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数据库程序员面试分模拟题2.docx》由会员分享,可在线阅读,更多相关《数据库程序员面试分模拟题2.docx(18页珍藏版)》请在优知文库上搜索。

1、数据库程序员面试分模拟题2简答题1. 在Undo表空间数据文件丢失的情况下如何恢复?正确答案:恢复大约nJ以分为3种情况:有备份,这种情况卜.直接采用备份的文件进行恢复即可;无备份但是有完整的归档(江南博哥)文件存在,这种情况卜可以使用命令A1.TERDATABASECREATEDATAFI1.E文件号S,u01apporacleoradatalhrdbundotbs01.dbfsize50m;“来创建丢失的Und。文件,然后使用“RECOVERDATAFI1.E文件号;”进行数据库文件恢复即可;无备份,归档文件丢失,在这种情况下的恢复比较复杂。首先应该切换Und。表空间到一个新建的UndO表

2、空间中,并设置原有表空间的管理模式为手动管理模式,然后将隐含参数“_oFF1.lNE_rollback_segments”设置为TRlJE,些关键性的命令如下:A1.TERSYSTEMSETUM)C1.TAB1.ESPACE=UNDOTBS2SCOPE=SPFI1.E;A1.TERSYSTEMSETUM)C1.vANAGEMENT=MANUA1.SCOPE=SPFI1.E:A1.TERSYSTEMSET*OFF1.INEROI.1.BCKSEGMENTS=TRUESCOPD=SPFI1.E;A1.TERSYSTEMSETCORRUPTEDRo1.1.BACKSEGMENTS*=*SYSSM1.

3、1$,SYSSMU2$SCOPE=SPFI1.E;CREATEUNDOTAB1.ESPACEUNDOTBS1DTFI1.Eu03apporacteoradata/ora1024gundotbs01.dbf,SIZE50MAUToEXTENDON;A1.TERSYSTEMSETUND(1.TAB1.ESPACE=UNDoTESlSCOPE=SPFI1.E;A1.TERSYSTEMSETUND05ANAGEMENT=AUTOSCOPE=SPFI1.E;A1.TERSYSTEMRESET*_OEF1.1NE_RO1.1.BACK_SEGMENTS*SCOPE:SPFI1.ESID=*;A1.TERS

4、YSTEMRESET*_CORRUPTED_RO1.I.BACK_SEGMENTS*SCOPE=SPFI1.ESID=;考点RMAN2. 什么是间隙(NeX1.Key)锁?正确答案:当使用范围条件而不是相等条件检索数据的时候,并请求共享或排它锁时,InnoDB会给符合条件的已有数据记录的索引项加锁;对于键值在条件范围内但并不存在的记录,叫作“间隙(GAP)”,InnoDB也会对这个“间隙”加锁,这种锁机制就是所谓的间隙(NeXt-Key)锁。间隙锁是InnODB中行锁的种,但是这种锁锁住的不止一行数据,它锁住的是多行,是一个数据范围。间隙锁的主要作用是为了防止出现幻读(PhantomRead)

5、用在RePeated-Read(简称RR)隔离级别下。在Read-COmmiICd(简称RC)下,一般没有间隙锁(有外键情况下例外,此处不考虑)。间隙锁还用于恢熨和复制。间隙锁的出现主要集中在同一个事务中先DE1.ETE后INSERT的情况,当通过一个条件删除一条记录的时候,如果条件在数据库中已经存在,那么这个时候产生的是普通行锁,锁住这个记录,然后删除,最后释放锁。如果这条记录不存在,那么问题就来了,数据库会扫描索引,发现这个记录不存在,这个时候的DE1.ETE语句获取到的就是一个间隙锁,然后数据库会向左扫描,扫到第一个比给定参数小的值,向右扫描,扫描到第一个比给定参数大的值,然后以此为界,

6、构建一个区间,锁住整个区间内的数据,一个特别容易出现死锁的间隙锁就诞生了。在MySQ1.的InnODB存储引擎中,如果更新操作是针对个区间的,那么它会锁住这个区间内所有的记录,例如,UPDATEXXXXWHEREIDBETWEENAANDB,那么它会锁住A到B之间所有记泉,注意是所有记录,甚至这个记录并不存在也会被锁住,这个时候,如果另外一个连接需要插入一条记录到A与B之间,那么它就必须等到上一个事务结束。典型的例子就是使用AUTOJNCREMEYrID,由于这个ID是一直往上分配的,因此,当两个事务都INSERT时,会得到两个不同的ID,但是这两条记录还没有被提交,因此,也就不存在,如果这个

7、时候有一个事务进行范围操作,而且恰好要锁住不存在的ID,就是触发间隙锁问题。所以,MySQ1.中尽量不要使用区间更新。InnoDB除了通过范围条件加锁时使用间隙锁外,如果使用相等条件请求给一个不存在的记录加锁,那么InnODB也会使用间隙锁!间隙锁也存在副作用,它会把锁定范围扩大,有时候也会带来麻烦。如果要关闭,那么一是将会话隔离级别改到RC下,或者开启innodb_locks_unsafe_for_binlog(默认是OFF)。间隙锁只会出现在辅助索引上,唯一索引.主键去引亮没有间隙锁。间隙锁(无论是S还是X)只会阻塞INSERT操作。在MySQ1.数据库参数中,控制间隙锁的参数是innod

8、b_1ocks_unsafe_for_bin1og,这个参数的默认值是OFF,也就是启用间隙锁,它是一个加尔值,当宿为TRuE时,表示DlSAB1.E间隙锁。考点锁3. 如何在执行恢复的时候将数据文件恢复到别的路径?正确答案:主要采用命令setnewnamefordatafile”和4switchdatafileall;。考点RMAN4. 如何插入单引号到数据库表中?正确答案:可以用ASCIl码处理,其他特殊字符如&也一样,如下:INSERTINTOTVA1.UESCICHR(39),m,);CHR(39)代表字符或者用两个单引号表示一个:INSERTINTOTVA1.UESCm,):一两个”

9、可以表示一个5. 密码延迟验证是什么?如何屏蔽?正确答案:从OraCIeIIg开始,如果一个用户使用不正确的密码尝试登录数据库,那么随着登录失败次数的增加,每次登录验证前延迟等待的时间也会增加。通过设置EVENTS28401可以屏蔽密码延迟验证:A1.TERSYSTEMSETEVENT=28401TRACENAMECONTEXTFOREVER,1.EVE1.1,SCOI,E=SPF11.E;设置该事件后重启数据库即可。关于28401事件的解释如下:oraclcorcIalhroerrora284D128401,00000,EventtodisabledelayafterthreefailedI

10、Oginattempts*/Document:NO/*Cause:N/A/*Action:Setthiseventinyourenvironmenttodisablethelogindelay/whichwillotherwisetakeplaceafierthreefailedloginattempts./*Note:THISISNOTAUSEREBROKNUMBER/MESSAGE.THISDOESNOTNEEDTOBE/TRANS1.ATEDOKDOCUMENTED.对于正常的系统,由于密码的更改,可能存在某些被遗漏的客户端,不断重熨尝试使用错误密码登录数据库,从而引起数据库内部长时间的

11、“libraecachelock”或ttrowcacheIOCk的等待,这种情形非常常见。这种现象在Oracle10.2和11.1中体现的等待事件为rowcachelock,而在OraCIe11.2中体现的等待事件为rtIibrarycacheIockw,当出现这类问题时,非常典型的AwR报告呈现如卜工首先在TOP5中,可能会看到显著的IibraryCaCheIOCk的等待,以下范例来自OraCle11.2.0.3版本的真实情况:Top5TimedForegroundEventsEventWaltsTlm()Avgwait(mt)%DBtimeWaItCIasslibrarycachelock

12、5143.139,90261087599988Concurrency:DBCPU3I幽I1ljrsorptnSwaMon450制一WI0.00!ConcurrencyI若数据库版本小于U.2,则在WR中可能的情况如下:Top5TimedForegroundEventsEventWaitsTime(三)Avgwait(ms)%DBtimeWaitCIassrowcachelock237310130836.72ConcuencyDBCPU23127.35logfilesync1.05019182.24Commitdbfilesequentialread1,9731051.19UserI/Odire

13、ctpathread1.540640.67USerI/O在这类情况下,时间模型(TimeModelStatiStiCS)中会显示如下指标,其中,“connectionmanagementcallelapsedtime占据了主要的DBTime,这个等待直接表明是在建立数据库连接时产生的:TimeModelStatistics Totaltimeindatabaseuser-calls(DBTime):3143648.8s Statisticsincludingthewordbackground-measurebackgroundPrt Orderedby%orDBtimedesc,Statist

14、icnameStatisticNameTime(三)%OfDBTlmeiconnectionmanagementcallelapsedtime3,143,473,399.991DBCPU336.16o。1.Sqlexecuteelapsedtime122.99100011-.-,iparsetimeelapsedi2_0.00:I此外,在AWR中的DiCtionaryCacheStatS部分也可以看到很明显的等待。此问题在MOS上相应的文档为“High,1ibrarycachelockWaitTimeDuetoInvalid1.oginARempts(1309738.1)此外,从OraCIeI

15、Ig开始,开启了密码大小写验证,如果数据库是从OraCle10g升级或迁移过来的,那么需要特别地注意这个变化,可以通过初始化参数SEC_CASE_SENSITIVE_1.OGON来控制这个特性。考点用户6. 什么是SQ1.语言?SQ1.有哪些特点?正确答案:SQ1.(StructureQuery1.anguage,结构化查询语言)是一种在关系型数据库中定义和操纵数据的标准语言。关系型数据库采用SQ1.作为客户端程序与数据库服务器间沟通的标准接口。客户端发送SQ1.指令到服务器端,服务器端执行相关的指令并返回其查询的结果。在数据库服务器端执行的SQ1.指令可以实现各种数据库操作和管理功能,例如,数据的查询和更新(包括添加、修改和删除数据)操作;创建、修改和删除各种数据库对象(如数据表、视图、索引等);数据库用户账户管理、权限管理等。关系数据语言的共同特点:语言具有完备的表达能力,是

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

当前位置:首页 > IT计算机 > 数据库

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!