《数据库程序员面试分模拟题9.docx》由会员分享,可在线阅读,更多相关《数据库程序员面试分模拟题9.docx(10页珍藏版)》请在优知文库上搜索。
1、数据库程序员面试分模拟题9茴答题1. 等待事件有哪些分类?正确答案:Oracle的等待事件主要nJ以分为两类:空闲(Idle)等待事件和非空闲(NOnTdIe)等待事件。1)空闲等待事件指(江南博哥)Oracle正等待某种工作,在诊断和优化数据库的时候,不用过多注意这部分事件。2)非空闲等待事件专门针对Oracle的活动,指数据库任务或应用运行过程中发生的等待,这些等待事件是在调整数据库的时候需要关注与研究的。通过如下的SQ1.语句可以查询等待事件的类型:SE1.ECTWAIT_C1.ASS#,W.A1T_C1.ASS_ID,WA1T_C1.ASS,COUNT(*)ASCOUNT”FROMV$
2、EVEy1.NAMEGROUPBYWAn1.C1.ASS#,WAIT_C1.ASS_ID,WAIT_C1.ASSORDERBYWAIT_C1.ASS#;考点等待事件2. 如何切换到某个特定的数据库?正确答案:运行命令:usedatabaseIame;。考点连接数据库3. 什么是数据库镜像?它有什么用途?正确答案:数据库镜像即根据DBA的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。数据库镜像的用途有:D用于数据库恢复。当出现介质故障时,可由镜像磁盘继续提供使用,同时DBVS自动
3、利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。2)提高数据库的可用性。在没有出现故障时,当一个用户对某个数据加排它锁进行修改时,其他用户可以读镜像数据库上的数据,而不必等待该用户释放锁。考点数据库系统的组成与结构4. 数据文件OFF1.lNE之后必须要做的一件事是什么?正确答案:数据文件OFF1.INE之后必须要做的一件事就是立刻执行一次RECOVER操作,这样无论过了多久之后,在ON1.lNE该数据文件的时候就不需要执行RECOVER操作了。考点RMAN5. 什么是OGG?它有哪些优缺点?正确答案:OGG(OracleGoldenGate)属于OraCleFusionMi
4、ddIeWare产品线,2009年被OraCIe收购,它是OraCIeStream的替代者。OGG软件是一种基于口志的结构化数据复制备份软件,它通过解析源数据库在线Fl志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库的同步。OGG可以在异构的IT(InfornarionTechnology,信息技术)基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒级的实时且制,从而可以在应急系统、在线报表、实时数据仓库供应、交易跟踪、数据同步、集中/分发、容灾、数据库升级和移植、双业务中心等多个场景下应用。同时,OGG可以实现一对一、广播(一对
5、多)、聚合(多对一)、双向复制、层会、点对点、级联等多种灵活的拓扑结构。OGG能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。和传统的逻辑复制一样,OGG的实现原理是首先通过抽取源端的Redo口志或者ArChiVe1.og,然后通过TCP/IP投递到目标端,最后解析还原应用到目标端,使目标端实现同源端的数据同步。考点OGG6. 会话游标的含义是什么?共享游标和会话游标的区别有哪些?正确答案:会话游标(SeSSiOnCUrSOr)是当前会话(SeSSiOro解析和执行SQ1.的载体,即会活游标用于在当前会话中解析和执行SQ1.,会话游标是以哈
6、希表的方式缓存在PGA中(共享游标是缓存在SGA的库缓存里)。在目标SQ1.的执行过程中,会话游标起承上启卜的作用。因为Oraele依靠会话游标来将目标SQ1.所涉及的数据从BUfferCaehe的对应数据块读到PGA里,然后在PGA里做后续的排序、表连接等处理,最后将最终的处理结果返回给用户,所以,会话游标是当前会话解析和执行SQ1.的载体。共享游标和会话游标的对比见下表。共享游标会话游标穿7缓存在SGA中的年共享池里的库缓存在每个会话的PGA中位置缓存中生命周期共享游标在所有会话之间共享共享游标无生命周期,会进行缓存会话游标与会话是一一对应的,不同会话的会话游标之间不能共享,这是与共享游标
7、的木质区别。会话游标是有生命周期的,每个会话游标在使用的过程中都至少会经历一次OPen、Parse、Bind、Execute,FetCh和CIOSe中的一个或多个阶段。OraCle会根据参数SESSIoMCACHED/URSORS的值来决定是否将已经用过的会话游标缓存五时应会话的PGA中1)会话游标足以哈希式的方式缓存在PGA中,意味着Oracle会通过棚关的哈希运算来存储和访问在当前会话的PGA中的对应会话游标。这种访问机制和共享游标是一样的,可以简单地认为Oracle是根据目标SQ1.的SQ1.文本的哈希值去PGA中的相应HaShBUCket中找匹配的会话游标。由于在缓存会话游标的哈希印玄
8、表的对应HaShBUCket中,OraCle会存储目标SQ1.对伏尔应的父游标的库缓存对象句柄地址,所以,OraCle可以通过会话游标找到对应的父游标,进而就可以找到对应子游标中目标SQ1.的解析树和执行计划,然后OraCIe就可以重用目标SQ1.的解析树和执行计划来执行SQ1.语句了2) 一个会话游标只能对应个共享游标,而一个共享游标却可以同时对应多个会话游标考点游标7. 使用哪个数据字典可以查询序列的定义信息?正确答案:可以通过查询数据字典视图DBA.SEQUENCES获取序列的定义信息,NEXTV1.返回序列中下一个有效的值,任何用户都可以引用CURRVA1.中存放的序列的当前值。当序列
9、值不符合实际需求时,可以执行A1.TERSEQUENcE命令修改序列,需要注意的是,启动序列号不可以修改(STARTWITHN)o修改序列的语法和序列的创建语法一样,只是将CREATE修改为A1.TER即可。8. 分区表有什么优点?正确答案:分区表有如下的优点:D增强可用性。如果表的一个分区由于系统故障而不能使用,那么表的其余好的分区仍可以使用。2)减少关闭时间。如果系统故障只影响表的一部分分区,那么只有这部分分区需要修复,可能比整个大表修熨花的时间更少。3)维护轻松。单独管理每个分区比管理单个大表要轻松得多。4)均衡I/O。可以把表的不同分区分配到不同的磁盘来平衡I/O,改善性能。5)改善性
10、能。对大表的查询、增加、修改等操作可以分解到表的不同分区来并行执行,可使运行速度更快。6)分区对用户透明,最终用户感觉不到分区的存在。考点分区表9. 如何知道当前绑定了什么裸设备?正确答窠:“raw-qa”命令可以列出当前绑定的所有裸设备。考点裸设备(RAW)10. 如何查看逻辑DG备库SQ1.Apply的进度?正确答案:_SQhSttECT1.AnSUcNlMNM1.SeWP1.lED-ScNlATBuiMtMlNKGJIMEAPP1.IEDjnMEFROMVSloGsTDBY.PROGRESS;1.A三MNDC-StXAPP1.lED.SQi1.A三JI!EWNIffiTHEAPF1.IE
11、DJljE88三殿889631668188蜕166802OIIKI5-1816:27:0820IH5-18此03:科201M6T816:03S考点DGH.InnoDB存储引擎支持哪些事务类型?正确答案:对于InnODB存储引擎来说,其支持扁平事务、带有保存点的扁平事务、链事务和分布式事务。对于嵌套事务,其原生不支持。因此对有并发事务需求的用户来说,MySQ1.数据库或InnoDB存储引挈就显得无能为力,然而用户仍可以通过带保存点的事务来模拟串行的嵌套事务。考点存储引擎12. 如何获取用户的权限?正确答案:若要获取一个用户的角色、系统权限、对象权限以及列权限,则可以通过以上介绍的数据字典视图来获
12、取也可以通过DBMS.METADATA.GETGRANTED_DD1.来获取。SE1.ECTDBMS.METADATA.GET_DD1.(USER,1.HR)DD1.SQ1.FROMDUA1.UNIONA1.1.SE1.ECTDBMSMETADATA.GETGRANTEDDD1.(OBJECTGRANT,1.HR)FROMDUA1.UNIONA1.1.SE1.ECTDBMS.METADATA.GET_GRANTED_DD1.CRO1.E-GRNT,/1.HR,)FROMDUA1.UNIONA1.1.SE1.ECTDBMSMETADATA.GETGRANTEDDD1.(,SYSTEMGRANT,
13、1.HR)FROMDUA1.:将结果复制出来简单地用文本编辑工具编辑后即可运行。另外还可以通过exp或expdp来获取用户的权限,这里不再演示。考点权限13. 如何得到真实的执行计划?正确答案:在Oracle数据库中判断得到的执行计划是否准确,就是看目标SQ1.是否被真正执行过,真正执行过的SQ1.所对应的执行计划就是准确的,反之则有可能不准,因此,通过10046事件及如卜的几种方式得到的执行计划是最准确的,而从其他方式获取到的执行计划都有可能不准确。SE1.ECT*IROMTAB1.E(DBMSXP1.AN.DISP1.AYCURSOR(NU1.1.,NU1.1.,ADVANCED1.1.S
14、TTS,):SE1.ECT*FROMTAB1.E(DBMS_XP1.AN.DISP1.AY_CURSORCsql_id/hash_value,CH11.D-CURSOR-NUMBER,ADVANCEDA1.1.STATS,);SE1.ECT*1ROMTAB1.E(DBMS_XP1.AN.DISP1.AY.AWR(,sql-id,);这里需要注意的是,虽然SQ1.*Blus的AUTOTKCE功能有部分是真实执行了SQ1.语句的(例如所有DM1.语句),但是由于该命令所显示的执行订划来源于调用EXP1.AlNP1.AN命令,所以,其得到的执行计划依然可能不准确(特别是在使用了绑定变量的情况下)。考
15、点执行计划14. 数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?正确答案:数据库系统中可能发生各种各样的故障,大致可以分为事务内部的故障;系统故障;介质故障:计算机病毒。其中,事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。考点数据库系统的组成与结构15. MySQ1.数据类型有哪些属性?正确答案:数据类型的属性包括auto_increment、binary、default-,index,notnull、null、primarykey.UniqUe和ZerOfi11,具体见下表。属性列l)auto_increment能为新插入的行赋予一,个唯一的整数标识符,该扇性只用于整数类型2)aut.o_increment一般从1开始,每行增加1。可以通过44A1.TERTAB1.ETB.NAMEAUT0_INCREMENT=n;”语句强制设置自动增长列为初始值,山是该强制的默认值是保留在内存中的。如果该值在使用之前数据库重新启动,那么这个强制的默认值就会丢失,需要在数据库启动以后重新设置3)可以使用