数据库程序员面试分类真题22.docx
《数据库程序员面试分类真题22.docx》由会员分享,可在线阅读,更多相关《数据库程序员面试分类真题22.docx(11页珍藏版)》请在优知文库上搜索。
1、数据库程序员面试分类真题22茴答题1. 如何快速重建索引?正确答案:通过REBUI1.D语句可以快速重建或移动索引到其他表空间。REBUII.D有重建整个索引数的功能,可以在不删除原始索引的情况下改变(江南博哥)索引的存储参数。A1.TERINDEXINDEX_NAMEREBUI1.DTAB1.ESPACETS-NMESTORAGE():另外一个合并索引的语句是A1.TERINDEXINDEX_NAMECOA1.ESCE:这个语句仅仅是合异索引中同一级的叶了块(1.eafBIoCk),消耗不大,对于有些索引中存在大量空间浪费的情况下非常有用。考点性能诊断2. 如何快速复制表或插入数据?正确答案
2、:快速复制表可以指定NO1.oGGlNG选项,如:CREATETAB1.ETlNO1.OGGINGSSE1.ECT*FROMT2;快速插入数据可以指定ApPEND提示,需要注意的是,在OARCHIVE1.OG模式下,默认用/APPEND就是No1.oGGING模式的。在ARCHIVE1.OG下,需要把表设置成No1.OGGING模式。如:1NSERT*+A1END*INTOTlSE1.ECT*EKOMT2;注意:若在环境中设置了FORCE1.OGGING,则以上操作是无效的,并不会加快插入的速度,当然,可以通过如下语句设置为NOFoRCE1.OGGING:A1.TERDATABASENOFOR
3、CE1.OGGING:是否开启了FoRCE1.OGGING,可以用如下语句查看:SQ1.SE1.ECTFORCE1.OGGINGFROMV$DATABASE;考点性能诊断3. 什么是热块?正确答案:当一个会话需要访问一个数据块,而这个数据块正在被另一个用户从磁盘读取到内存中或者这个数据块正在被另一个会话修改时,当前的会话就需要等待,就会产生一个bufferbusywaits等待,也伴随着1.atCh争用。如果太多的会话去访问相同的数据块,那么会导致长时间的bufferbusywails等待,通常表现形式为CPU使用率很高,但吞吐量很低。造成热块的原因可能是数据库设置或者重熨执行的SQ1.语句频
4、繁访问一些相同的数据块。热块产生的原因不尽相同,按照数据块的类型,可以分成表数据块、索引数据块、索引根数据块、文件头数据块和数据块自身的争用,不同热块类型处理的方式是不同的。考点性能诊断4. 数据库运行很慢,如何解决?正确答案:导致数据库运行很慢的原因非常多,例如,可能是开发人员SQ1.语句写得不好导致执行性能比较差。所以,碰到这类问题,不能给出一个非常精确的答案,但是可以按照如下的步腺去检测:Dtop或topas查看系统的CPU利用率是否正常,找到最耗费资源的OraCle进程,然后进入数据库查询相关的会话,找到SQ1.语句再进行具体分析。如果CPU正常,那么就很可能是由于开发人员写的SQ1.
5、语句不好,导致SQ1.执行时间过长,因此,开发人员误认为是数据库运行缓慢。2)进入数据库查看等待事件是否正常,SQ1.语句如下:SE1.ECTA.INSTJD,.EVENT,COUNT(I)FROMGV$SESSIONAWHERE.USERNAMEISNOTNU1.1.ANDA.STATUS=*ACTIVEANDA.WAITC1.SSIdleGROUPBYA.INSTID,A.EVENTORDERBYA.INSTID,COUNT(1)DESC;结果如下:DSTJDE三ClXNI(I)1latch:gesTeSOUro?hashlist581gcbufferbusyacquire22kgfile
6、sync1078S2gcbufferbusyrelease122gccurrentrequest62latchfree1那么,在这里就应该着重解决IOgfileSynC这个等待事件。考点性能诊断5. Undo的作用有哪些?正确答案:主要有4个作用:事务回滚(RoIIbaCkTranSaCt个n)、事务恢复(TranSaCtionRecovery)提供一致性读(ConSiStentRCad)和实现闪回功能。考点性能诊断6. 对于不同的DM1.语句而言,UndO段存储了哪些内容?正确答案:Red。中只会记录少量信息,这些信息足以重演事务;同样Undo中也只记录精简信息,这些信息足以撤销事务。具体来
7、说:1)对于INSERT操作,回滚段只需要记录插入记录的RObD,如果回退,那么只需将该记录根据ROWID删除即可。2)对于UPDATE操作,回滚段只需要记录被更新字段的IH值即可(前镜像),回退时通过旧值覆盖新值即nJ完成回滚。3)对于DE1.ETE操作,OraCIe则必须记录整行的数据,在回滚时,Oracle通过一个反向操作恢复删除的数据。总结一下:对于相同数据量的数据操作,通常INSERT产生最少的Und。,UPDATE产生的UnCIO居中,而DE1.ETE操作产生的Undo最多。所以,当一个大的DE1.ETE操作失败或者回滚时,总是需要很长的时间,并且会有大量的Red。生成。所以通常在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 程序员 面试 分类 22
