《数据库程序员面试分类真题20.docx》由会员分享,可在线阅读,更多相关《数据库程序员面试分类真题20.docx(11页珍藏版)》请在优知文库上搜索。
1、数据库程序员面试分类真题20倚答题1. 如果联机RCdo日志文件损坏,那么如何恢曳?正确答案:联机Redo日志是Oracle数据库中比较核心的文件,当RedO日志文件异常之后,数据库就无法正常启动(江南博哥),而且有丢失据的风险,强烈建议在条件允许的情况下,对Redo口志进行多路镜像。需要注意的是,RMAN不能备份联机Red。口志文件。所以,联机Red。口志一旦出现故障,则只能进行清除口志了。清除口志文件即表明可以重用该文件。如果口志文件已经归档,那么可以使用:A1.TERDATABASEC1.EAR1.OGE11.EGROUPN;如果该日志还没有归档,那么需要用:A1.TERDATABASE
2、C1.EARUNARCHIVED1.OGFI1.EGROUPN;一不需要数据文件A1.TERDATABASEC1.EARUNARCHIVEDI.OGFI1.E.UNRECOVERAB1.EDATAFI1.E;一需要数据文件考点RMAN2. 如何在执行恢复的时候将数据文件核复到别的路径?正确答案:主要采用命令setnewnamefordatafile和switchdatafileall;0考点RMAN3. 如何清除V$ARCH1VED_1.OG视图中的过期信息?正确答案:在使用RVAN命令(DE1.ETEARCHIVE1.OGA1.1.;)删除归档信息后,V$AR用IVEDJoG视图中的NAVE
3、列为空,但是依然可以查询到这些删除了的归档信息。出现这样的现象是因为使用RMAN命令在删除归档日志的时候不会清除控制文件中的内容,导致V$ARCHlVED1.OG留卜的过期的不完整信息。使用如卜的命令可以清除控制文件中关于V$ARCHlVED1.oG的信息:EXECUTESYS.DBMSBACKUPRESTORE.RESETCFI1.ESECTION(11);考点RMAN4. Oracle如何删除归档日志文件?正确答案:在RMAN工具里删除归档日志文件:1. rmantarget/2. CROSSCHECKRCHIVE1.OGA1.1.;3. 1.ISTEXPIREDARCIIIVE1.OGA
4、1.1.;4. DE1.ETEEXPIREDARCHIVE1.OG1.1.;考点RMAN5. RVA中有哪几种保留策略?正确答案:保留策略说明了要保留的备份冗余数量及保留的时间长度。有两类保留策略:恢复窗口保留策略和冗余保留策略,这两类保留策略互相排斥。可以通过使用RMAN的CONFIGURE命令或OEM(OraCIeEnterpriseManager)来设置保留策略的值。考点RMAN6. 什么是闪回?闪回有哪些分类?正确答案:OraCle闪回技术从根本上改变了数据恢熨策略,利用闪回技术,可以使更正错误的时间大大缩短,而且它简单易用,使用极少的命令便可恢熨所需要的数据,而不必执行复杂的程序。闪
5、回技术是OraCle数据库独有的特性,支持各级恢复,包括行、事务、表和数据库范围。采用闪回技术,可以针对行级和事务级发生过变化的数据进行恢复,减少了数据恢复的时间,而且操作简单,通过SQ1.语句就可以实现数据的恢复,大大提高了数据库恢复的效率。Oracle中闪回技术分类图如下图所示。考点闪回7. 动态注册和静态注册有什么区别?正确答案:OraCIe的星册就是将数据库作为一个服务注册到监听程序,而客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库。这个服务名可能与实例名一样,也有可能不一样。在数据库服务器启动过程中,数据库服务器会向监听程序注册相应的服务,
6、根据注册方式的不同,目前Oracle支持动态注册和静态注册这两种注册方式。动态注册是实例启动的时候,PMON进程根据参数文件中的INSTANCE_NAME,SERVICE_NAMES两个参数将实例和服务动态注册到1.ISTENER中。动态注册默认只注册到默认的监听器上(名称为1.ISTENER、端口为1521),如果要向非默认监听注册,那么需要配置1.OCA1.JJSTENER参数。需要注意的是,动态注册默认端口在数据库启动大约1分钟之后才可以查询(ISnrCI】status),但可以在数据库中使用SQ1.语句“A1.TERSYSTEMREGISTER;w立即注册数据库。考点网络8. 如何查询
7、某服务是静态注册还是动态注册?正确答案:可以使用命令ISnrCtlStatUS来查看某服务是静态注册还是动态注册。实例状态为UNKM)WN时表明此服务是静态注册。这时监听器用来表明它不知道关于该实例的任何信息,只有当客户发出连接请求时,它才检查该实例是否存在。动态注册的数据库通过状态信息中的状态READY或状态B1.OCKED(动态监听在NoMOUW状态下为B1.OCKED)来指明。不管何时关闭数据库,动态注册的数据库都会动态地从监听器注销,而与之相关的信息将从状态列表中消失。所以,不管数据库是在运行还是已经关闭,监听器总是知道它的状态。该信息将被用于连接请求的回退和负载平衡。考点网络9. 什
8、么是Ezconnect方式连接数据库?正确答案:如果对tnsnames.Ora文件没有做相应的配置,那么也可以使用OraCIe的EZCoNNECT(EaSyConnectNamingMethOd)方式来连接到数据库,其语法形式如下:sqlplusUSCrnanIC/pass*Ordhost:port/service_namc/instance_name需要注意的是,如果想要使用EZCONNECT方式连接到数血库,那么需要在客户端的sqlnet.ora文件中增加“NAMES.DIRECTOR1PATH=(EZCONNECT)”信息,否则该功能将无法使用,默认是有该配置的。一般配置如下:NAMES
9、.DIRECTORY_PATH=(TNSNAMES,EZCONNECT)考点网络10. 如何跟踪tnsping过程?正确答案:sqlnet是Oracle提供的与网络层面交互的一个工具,比如如何解析客户端发起的连接,如何对客户端发起的连接进行辨别,如何对客户端连接进行阻隔限制,或者启用口志及跟踪(1.ogandTraCe)功能等一系列的功能。所以,可以通过SqInet工具对rasping进行跟踪分析,查找为何外部网络无法连接数据库的原因。可以在客户端的sqlnet.ora中配置:tnsping.tracc_directory=D:apporacleproductl1.2.0.ldbhome_lN
10、ETWORKDMINtnsping.trace_level=support其中,tnsping.traceIeVel指的是跟踪的级别,SUPPOrt为最高级别,该参数可选的级别包括off、user、admin和SUPPOrto一般来说,既然是跟踪错误原因,作者建议还是设置为SUPPort较好。rasping,tracedirectory指的是跟踪产生的trace文件存放的位置。在执行atnspingOrCl”后,在目录“D:apporacleproductl1.2.0.1dbhome_lNETWORKADMINw下会生成一个跟踪文件tnsping.trc,然后分析该文件即可。考点网络11. 如
11、何启动OraClC数据库的监听日志?正确答案:OraClC监听器是一个服务器端程序,用于监听所有来自客户端的请求,并为其提供数据库服务。以卜是一些常用的设置。1)设置监听器日志文件目录:IsnrctlSET1.OGDIRECTORYdirectory02)设置监听器口志文件名:ISnrCtISET1.OG_F11.Efilename。3)设置监听器口志的状态:ISnrCtlSET1.(K1.STATUSon|off。考点网络12. 解释Gu)BA1.EAMES设为TRUE的用途。正确答案:G1.OBA1.NAMES指明连接数据库的方式。如果这个参数设置为TRUE,那么在建立数据库逢按时就必须用
12、相同的名字连接远程数据库。考点网络13. Insnamcs.ora文件的作用是什么?正确答案:这个文件类似于1.inux系统的hosts文件,提供tnsname到主机名或者IP的对应关系。只有当sqlnet.Ora中有类似“NAMES.DIRECTORYPATH=(TNSNAMES)”的配置,客户端解析连接字符串时,数据库才会尝试使用这个文件。下面给出一个配置的例子:ORC1.=(DESCRIPTION=(ADDRESS=(PROToCO1.=TCP)(HoST=Ihr)(PoRT=I521)(connect_data=(Server=Dedicated)(SERVICE-NME=orcl)其
13、中,每个部分的解梆如卜;1)PROTOCO1.:客户端与服务器端通信的协议,一般为TCP,该内容一般不用改。2)HOST:数据库所在的机器的主机名或IP地址。不管用主机名还是IP地址,在客户端一定要用ping命令ping通数据库所在的机器,否则需要在hosts文件中加入数据库所在的机器的主机名和IP地址的时应关系。3)PORT:数据库监听器的端口,可以查看服务器端的IiStener.ora文件或在数据库服务器中通过ISnrCtlstatuslistenername命令来查看。一般为1521端口。4)SERVICE_NAME:在数据库中使用“SHOWPARAMETERSERVICE.NAMEm命
14、令查看,一般情疝下和DBNAME相同。考点网络14. sqlnet.ora文件的作用是什么?正确答案:sqlnet.ora文件的作用类似于1.inux系统的nsswitch.conf文件,通过该文件来决定如何查找一-个连接中出现的连接字符串。例如,在客户端输入命令:sqlplussysoracle0orcl,而Sqlnet.ora的配置如下:SQ1.NET.authentication-services=(nts)NAMES.DIRECTORPATH=?TNSNAMES,HOSTNAME)那么,客户端就会首先在tnsnames.ora文件中查找OrCl的记录。若没有相应的记录,则尝试把。rc】
15、当作一个主机名,通过网络的途径去解析它的IP地址,然后去连接这个IP上G1.OBA1.J)BNAME为orc的实例。如果SqInet.ora文件的配置如下:NAMES.DIRECTORY-PATH=(TNSNAMES)那么客户端就只会从tnsnames.ora查找OrCl的记录。考点网络15. TWO_TASK环境变量的作用是什么?正确答案:在1.inUX环境下,可以设置TWOJASK环境变量,当用户连接数据库且没有指定服务名时,会自动利用TM)JASK的设置作为环境变量连接数据库。其中,TWOjASK的值为tnsnames.ora文件中配置的值。需要注意的是,当配置了TWO/ASK环境变量后,就无法使用操作系统验证来登录数据库了,会报ORA-01031:insufficientprivileges的错误。类似地,在WindoWS环境下的变量是U)CA1.其设置方法和1.inUX下的TWO_TASK一致。考山网络16. 在WindoWS环境卜.,错误ORA-12560:TNS:协议适配器错误”的常见原因有哪些?正确答案:常见原因有如下几个:1)监听服务没有启动起来。WindOWS环境操作