《数据库程序员面试分类真题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环境变量后
16、,就无法使用操作系统验证来登录数据库了,会报ORA-01031:insufficientprivileges的错误。类似地,在WindoWS环境下的变量是U)CA1.其设置方法和1.inUX下的TWO_TASK一致。考山网络16. 在WindoWS环境卜.,错误ORA-12560:TNS:协议适配器错误”的常见原因有哪些?正确答案:常见原因有如下几个:1)监听服务没有启动起来。WindOWS环境操作步骤:开始一程序管理工具一服务,打开服务面板,启动OraCIeXXXliStener服务。2)数据库实例没有启动。启动命令为netstartOraCIeSerViCeORC1.。3)环境变量问题。请
17、仔细检查ORACuUK)ME和PATH的路径。若是在同一台机器上同时安装了OraCIe的服务器端和束户端,则要确保执行“sqlplus/asSySdba”命令的SqlPIUS在眼务器路径下。另外,需要设置ORACu1.SID,设置方法为SetORAC1.ESID=XXX0考点网络17. OraCle的SYS用户登录报权限不足(InSUffiCientPriViIegeS)的常见原因有哪些?正确答窠:常见原因有如下几个:1)检查服务器端sqlnet.ora文件。在Windows环境下,需要加上一句:mSQ1.NET.AUTHENTICATIor1.SERVlCES=(NTS)”;在1.inUX环
18、境下,可以没有这个文件或者加上:“SQ1.NET.AUTHEKTICATION_SERVICES=(A1.1.)”,或者删除该句。2)检查登录WindOWS的用户。当前登录用户必须包含在0RA_DBA组中,域用户若没有连上域服务器时则可能出现这种现象。3)要保证参数REM0TE_1.0GIN_PASSWORDFI1.E的值为EXC1.USIVE,4)检查服务器端密码文件。云服务器端密码文件必须存在,可以咨询视图Vsputileusers,该视图必须包含SYS用户。此外,执行命令“grantsysdbtoSYS;”也不能报错。创建密码文件的命令为Windowsiorapwdfile=wE:ora
19、clelhrdbDTBSEPWDortest.ORA”Password=Ihr1.inuxiorapwdfile=$ORAC1.E_HOME/dbs/orapworc1password=Ihrforce=y考点网络18. Oracle删除数据库的方式有哪几种?正确答案:有如下几种方式可以用来删除Oracle数据库:1)直接在OS级别调用dbca命令以静默的方式删除数据库,如卜所示,其中,mydb为数据库名:dbca-siIen1.deleteDatabase-SourceDBmydb2)SQ1.窗口:A1.TERDATABASEC1.OSE:A1.TERSYSTEMENAB1.ERESTRIC
20、TEDSESSION;DROPDATABASE:或STARTUPFORCEMOUNTRESTRICT;DROPDATABASE;注意:强烈推荐第1种方式,对于第2种方式,若是在RAC环境中,数据库需要设置参数C1.USTER_DATABASE为FA1.SE后才可以执行DRoPDATABASE,设置的命令为A1.TERSYSTEMSETC1.USTERDATABASE=FA1.SESID=*,SCOPE=SPFI1.E;o考点建库与删库19. Oracle如何判定实例是否运行?正确答窠:在启动OraCIe实例之前,必须定义ORAC1.E_SID,OraCle根据SlD的HASH值来唯一确定一个实
21、例的地址。当打开SQ1.*Plus工具,输入“sqlplusasSySdba”以后,系统根据SID进行HASH,杳找在共享内存中是否有相应的共享内存段(SHMID)存在,如果有,那么返回COnneCted,否则返回ConneCttoanidleinstance)这个实例名是存放在SGA的VariableSiZe中。通过ORADEBUGIPC来得到VariabIe所存放的SHM的SHMID号,在OS下使用ipcrm-mSHMH)可以删掉这一段共享内存。另外,在OS级别也可以使用sysresv命令来获取SHM11)号。OradebugIPC命令如下:SQ1.ordebugSetmypidSQ1.o
22、rdebugipcSQ1.ordebugTRACFI1.E一NAVEsysresv命令如下:ZF1.HRDB2:oracle:oracleORAC1.ESID=raclhr2ZF1.HRDB2:oracle:/OraC1esysresvIPCResourcesforORAC1.ESIDraclhr2”;SharedMemory:IDKEY5242886Oxffffffff5242883Oxffffffff10485830xd92489e0OracleInstancealiveforsidraclhr2”考点建库与删库20. 如何判断Oracle是32位还是64位?正确答案:由于OraCIe分为
23、客户端和服务器端,所以,查看OraCIe是32位还是64位也分为服务器端和客户端2个部分。1 .数据库服务器端旗麒碎冷32Q期SQ1.P1s加飙是,么用SQ1.Plm连上懿梆会UfAaEJ2ft.剧;会存即Pb.assysfiuOcDteseHgEmapnstEAionRehseI120.1.0-ProductkaOrKkDaiescl(EfrEditniRtkscimiJ)MHfkbon耐WIRSONO般会跳幽,俄32也聊会麻SaECTtFROMVSVERSK)NWHERER(WoQOraiiDsitecIlgEnJairxEdiMiRdatcIIMlJ)ProdKtkeOTxlcDaate
24、eIOsErtcjnseEditknRdcficIIiaiJ)Mbit加VSSQ1.侬她限61也四融为16团6避热舐父生丫曲也为&位16滥微SE1.ECTADDRESSFROMVSSQI三RERowNUMQADDRESSKDAOCACADDRESSO三0OI96FDF7DS2.数据库Client端客户端可以从1.inux和WindoWS平台分别去分析。性KS醐的32(1M1.inuxft1.imuffiFuJISttfflIikBif如响J找行文件SqiP瓜心是32圈旦jJ2b,whichsbfile$0RAC1.EIIOMErdbmsadmin/u11samp1.Sql考点建库与删库24.
25、哪个系统环境变量对于运行OUI非常重要?正确答案:OUl(OracleUniversalInStaIIer)是基于JaVa的图形用户界面应用程序。运行前可以设置DISP1.AY参数,设置命令如下:exportDlSP1.AY=需要显示界面的机器IP地址:0.0考点建库与删库25. 什么是审计(AUdit)?正确答案:审计用于监视用户所执行的数据库操作,审计信息可存储于数据字典表,称为审计记录。审计记录存储在SYSTEM表空间的SYS.AUD$表中,可通过视图DB,UDIT_TRAI1.查看。审计记录也可以存储在操作系统文件中(默认位置为SORC1.E-BSEadmin/$ORAC1.E_SID/adump/)。审计的内容主要包括对窥据库连接、SQ1.语句执行以及数据库对象访问等操作的跟踪记录。OraCle系统对任何用户所做的登录、操作数据库对象进行自动记录,以便使DBA在事后可以进行监督和检查。OracleIIg默认启用审计,auditjril参数的钛认值为db,这意味着审计数据将记录在数据库中的AUD$审计字典基表上。汕SHOWPARAMETERAUDiTJRAI1.WE11PEVAUIaudit.trail考点审计stringDB
链接地址:https://www.31ppt.com/p-7141809.html