数据库程序员面试分模拟题8.docx
《数据库程序员面试分模拟题8.docx》由会员分享,可在线阅读,更多相关《数据库程序员面试分模拟题8.docx(16页珍藏版)》请在三一办公上搜索。
1、数据库程序员面试分模拟题8简答题1. 如何确定MySQ1.是否处于运行状态?如何开启MySQ1.服务?正确答案:分为1.inux和Windows来讨论。1)在1.inUX下启动MySQ1.服务:(江南博哥)Irooigtesdb,pJaViamysqlSUmSERRORItmsqIisnotf三ingInX)电屿曲FWVkeInySqIstmStamttmyx1I_SUCCESS!roottcsd)办SaviCCmysqlSQIuSSUCCESS!11yslMning(WI)rortfo午PJ-crepIn)S)Inxx2938IO1930,0CKMttOO恤处.tabinmyjqldsife
2、TjttfiKvarihinysq)-PiHk=ys5tttdb.pidmysqlJWI29384319:30网)OlMo:09toSbininysqld-而o=diQdirwWmysql-plucintfri,MHbysqa-USElysqlTogtrra=Hr现却1血).6-pid-filr=r,ar.1ibmysqlits41.pdroot30%234201%OP(So0000X0gripmyl在1.inUX下,也可以通过netstat-nipIgrepInySqId”来查看MySQ1.服务的状态:ErootQtestdb/netstat-nipgrepmysqldtcp00:3306:
3、*1.ISTEN13853/mysqldunix2CCSTREM1.ISTENING3851113853/mysqldvarlibmysql57mysql.sock也可以使用mysqld_safe命令启动MySQ1.数据库,通过mysqladmin来关闭MySQ1.数据库:Irootejtdb,l*n)5qtanUrOeCpIhr如ItowDm)5lid11三NimingUsi球aPMsWOnian&axnnmJ辰i11rtxeOBbeMCUre.roo(gtdb牛帅qld_sfc&I4rooic5idb胪2017-Ce-23TlftQ2;38.?MWmysqld_safe1.oggingu1
4、,s5711nsl5719.llog11yjqldi3g,.2017杂-2JTIw)123872M29ZmysqldsafcSt三tg115qld(boncewithduawsftcsHafIIhy靖炯招67l9fdw在数据库启动的时候可以加上从指定参数文件进行启动,如下:mysqldsafe-defaults-file=etcf&2)在Windows下启动MySQ1.服务:I):MySQ1.MySQ1.-advanccd-5.6.21-win32binnetstartmysqlMySQ1.服务正在启动.MySQ1.服务已经启动成功。进入WindOWS的服务可以看到:MySQ1.US勺3SSF
5、tt三三BS三MrooSharePcntWo*kxcAudH-手动McrotohSowaBACKUPINCREMENTA1.1.EVE1.ODATABASE;02)执行差异增量备份的命令为RMANBACKUPINCREMEVrA1.1.EVE1.1DATABASE:1,3)执行累积增量备份的命令为RMANBACKuPINCREMENTA1.1.EVE1.1CUMU1.ATIVEDATABASE;。可以对处于NOARCHIVE1.OG模式的数据库执行任何类型的备份(完全或增量)。当然,前提条件是数据库处于未打开状态。需要注意的是,数据库只能恢复到上次备份时的状态。只有当数据库处于AReHIVE1
6、.OG模式时,才可以将其恢复到上次提交事务处理时的状态。考点RMAN4. FORUPDATE和FORUPDATEOF的区别是什么?正确答案:SE1.ECT.FORUPDATE语句的语法如下:SE1.ECT.FORUPDATEOFcolumn_listWAITnNOWITSKIP1.OCKED;其中,这个OF广句在涉及多个表前,具有较大作用。若不使用OF指定锁定的表的列,则所有表的相关行均被锁定。若在OF中指定了需修改的列,则只有与这些列相关的表的行才会被锁定。WAIT子句指定等待其他用户释放锁的秒数,以防止无限期的等待。“使用FORUPDATEWAIT子句的优点如下:1)防止无限期地等待被锁定
7、的行。2)允许应用程序中对锁的等待时间进行更多的控制。3)对于交互式应用程序非常有用,因为这些用户不能等待不确定的时间。4)若使用了SKlP1.OCKED,则可以越过锁定的行,不会报告由Waitn引发的“资源忙”异常报告。在OraCIeIOg之前,SE1.ECT.FORUPDATE获取的是2级TM锁,而从OracleIOg开始,SE1.ECT.FORUPDATE获取的是3级TM锁。考点锁5. 如何删除表中重任的记录?正确答案:在平时工作中可能会遇到这种情况,当试图对表中的某一列或几列创建唯一索引时,系统提示ORAOl452:不能创建唯一索引,发现重复记录。这个时候只能创建普通索引或者删除重复记
8、录后再创建唯一索引。重复的数据可能有这样两种情况:第一种是表中只有某些字段一样,第二种是两行记录完全一样。删除重复记录后的结果也分为两种,第一种是重复的记录全部删除,第:种是重复的记录只保留最新的条记录。在一般业务中,第二种的情况较多。1 .删除重复记录的方法原理在OraCIe中,每条记录都有RONID,R(MID在整个数据库中是唯一的,ROID确定了每条记录是在OrHClC中的哪一个数据文件、块、行上。在重复的记录中,可能所有列上的内容都相同,但ROWlD不会相同,所以,只要保留市曳记录中那些具有最大的ROWID的记录,其余的全部删除。2 .删除重复记录的方法若想要删除部分字段重复的数据,则
9、使用卜面语句进行删除,卜.面的语句是删除表中字段1和字段2重复的数据:DE1.ETEFROM表名WHERE(字段1,字段2)IN(SE1.EeT字段1,字段2FROM表名GROUPBY字段1,字段2HAVINGCOUNT(I)1);也可以利用临时表的方式,先将查询到的重复的数据插入一个临时表中,然后进行删除,这样,执行删除的时候就不用再进行一次查询了。代码如下:CREATETAB1.E临时表AS(SE1.ECT字段1,字段2,COUNT(*)FROM表名GROUPBY字段1,字段2HAVINGCOUNT(*)1):上面这句话的功能是建立临时表,并将查询到的数据插入其中。有了上面的执行结果,下面
10、就可以进行删除操作了:DE1.ETEFROM表名AWHERE(字段1,字段2)IN(SE1.ECT字段1,字段2FROM临时表);假如想保留重夏数据中最新的一条记录,应该怎么做呢?可以利用ROWTD,保留重复数据中ROWID最大的一条记录即可:DE1.ETEFROMTAB1.ENAMEWHEREROWIDNOTIN(SE1.ECTMAX(ROWID)FROMTAB1.ENAMEDGROUPBYD.CO1.l,D.C01.2);重复数据删除技术可以提供更大的备份容量,实现更长时间的数据保留,还能实现备份数据的持续验证,提高数据恢复服务水平,方便实现数据容灾等。考点高级操作6. 如何填充V$SES
11、SlON的C1.1ENT_INTO列和CUENIDENTIFIER列?正确答案:Vssession的client_info列和CUENidentifier列往往为空,所以需要写登录触发器,然后在触破器中使用如下的力储过程记录这2列的值:BEGINDBMSAPP1.ICATIONINFO.SETC1.IENTINFO(SYSCONTEXT(,USERENV,IFADDRESS);DBMS_SESSION.SET_IDENTIFIER(SYS_CONTEXT(,USERENVt,HOST);END;考点系统包7. 在Undo表空间数据文件丢失的情况下如何恢复?正确答案:恢熨大约可以分为3种情况:有
12、备份,这种情况下直接采用备份的文件进行恢熨即可;无备份但是有完整的归档文件存在,这种情况下可以使用命令“A1.TERDATABASECREATEDATAFl1.E文件号AS,u01apporacleoradatalhrdbundotbs01.dbfsize50m;,来创建丢失的Undo文件,然后使用“RECOVERDATAFI1.E文件号;”进行数据库文件恢复即可;无备份,归档文件丢失,在这种情况F的恢复比较复杂。首先应该切换Undo表空间到一个新建的Undo表空间中,并设置原有表空间的管理模式为手动管理模式,然后将隐含参数“_0FF1.INE_Ro1.1.BAa1.SEGMENTS”设置为T
13、RUE,些关键性的命令如下:A1.TERSYSTEMSETUNDo.TAB1.ESPACE=UNDoTBS2SCOPE=S1I1.E;A1.TERSYSTEMSETUND(1.MANAGEMENT=MANUA1.SCOPE=SPFI1.E;A1.TERSYSTEMSErj)FF1.INE_RO1.1.BAeK_SEGMENTS=TRUESeOPD=SPFI1.E;A1.TERSYSTEMSETICORRUPTED_RO1.1.BACK_SEGMENTS=_SYSSMU】$,_SYSSMU2$SCOPE=SPFI1.E;CREATEUNDOTAB1.ESPACEUNDOTBS1DATAFI1.E
14、u03apporacteoradataora1024gundo1.bsO1.dbf,SIZE50MAUTOEXTENDON;A1.TERSYSTEMSETUNDo.TAB1.ESPACE=UNDOTESISCOPE=SPFI1.E;A1.TERSYSTEMSETUNDOtNAGEMENT=AUTOSCOPE=SPFI1.E;A1.TERSYSTEMRESETOFF1.INERO1.1.BACKSEGMENTSSCOPE=SP111.ESID=*,;A1.TERSYSTEMRESET*_CORRUPTED_RO1.1.BACK_SEGMENTS*SCOPE=SPFl1.ESID=;考点RMAN8
15、. 若在使用“P1.SQ1.Developer软件编译存储过程、函数等对象时无响应,则可能的原因是什么?正确答案:在编译某不存储过程的时候,OraCIe会自动给这个对象加上DD1.锁,同时也会对这个存储过程所引用的对象加锁。在数据库的开发过程中,经常碰到包、存储过程、函数无法编译或使用“P1.SQ1.DeveIoperw这款软件进行编译时会导致该软件无法响应的问题,这个时候可以通过查询DBDD1.1.OCKS或V$ACCESS来获取锁的相关信息。考点锁9. MySQ1.的分区表是什么?如何查询MySQ1.是否支持分区?正确答案:表分区是指根据一定规则,将数据库中的-张表分解成多个更小的、容易管
16、理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成,每个分区都是一个独立的对象。分区有利于管理大表,体现了“分而治之”的理念。一个表最多支持1024个分区。在MySQ1.5.6.1之前可以通过命令showvariableslike飞havepartitioning%,来查看MySQ1.是否支持分区。若havepartintioning的值为YES,则表示支持分区。从MySQ1.5.6.1开始,该参数已经被去掉了,而是用SHOWP1.UGlNS来代替。若有Partition行且STATUS列的值为AcnVE,则表示支持分区,如下:rwoSldbSHOWP1.UGINS;I5Stat
17、usI)一门一一,:1.ibrair!1.iceisepartitionACTnEISKRAGEDCPiENlll)”F三IEI三,一一,一-.此外,也可以使用表IMoRVATON_SCHEMA.P1.UGINS来查询,如下:- SE1.ECTP1.UG”AMEASNAME- P1.1.GIN.VERSIONASV三ION.- PtlXiKSTAIUSASSTATUS-Frominforxwiowematluginsa- WHEREP1.UGlNjYPE=三)RAGEENGINE- ANDAjJ1.I;GNjAME=卿xf;XAME三I(KSTAKSpartition1.0ACTDE10. 什
18、么是物理读和逻辑读?正确答案:当会话所需要的数据在内存的BUfferCaChe中找不到,此时就要去磁盘上的数据文件中读取,这样就产生了物理读(PhySiCaIReads),即物理读是从磁盘文件把需要的数据读入内存(SGA中的BufferCache)逻辑读(1.ogiCalReadS)衣示CPU需要的数据在内存中被找到,数据被直接从内存中传入CPU执行,即逻辑读是从内存中读取。在OraCle中,逻辑读=即时读(又叫当前读,CurrentRead)+一致性读(COnSiStentRead):在“SETAUTOTRACEON”中,逻辑读=dbblockgets(当前读)+consistentgets
19、(一致性读)。即时读就是读取数据块当前的最新数据。任何时候在BUfferCaChC中都只有一份当前数据块。即时读通常发生在对数据进行修改、删除操作时。这时,后台进程会给相关数据加上行级锁,并且标识数据为“脏数据”。需要注意的是,物理读过大表现为磁盘1/0较高,逻辑读过大表现为CPU使用率过高。考点SQ1.优化11. SESSIONS和PROCESSES有什么关系?正确答案:在数据库安装完成后,常常需要设置SESSloNS和PROCESSES的大小。其中,SESSIONS指定了一个实例中允许的会话数,即能同时登录到数据库的并发用户数;PROCESSES指定了一个实例在操作系统级别能同时运行的进程
20、数,包括后台进程与服务器进程。由于一个后台进程可能同时对应多个会话,所以,通常SESSIONS的值大于PROCESSES的值。通过查找官方文档,可以知道SESSloS参数的值在OraClCIOg和IIg中是不同的,见下表。属性OraCIeIOgOrac1e1lgR2参数值的类型IntegerInteger默认值Derived:(1.1*PROCESSES)+5Derived:(1.5*PR0CESSES)+22鬣可以动态否否范围1-2311216(即1-65536)注:在OraCleIlgRl中,该参数值和IOg足一样的,修改语句为“A1.TERSYSTEMSETPROCESSESISESSI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 程序员 面试 模拟

链接地址:https://www.31ppt.com/p-7141741.html