数据库程序员面试分模拟题7.docx
数据库程序员面试分模拟题7简答题1. 如何查看Oracle数据库的字符集?正确答案:数据库字符集在创建数据库时指定,在创建后通常不能更改。在创建数据库时,可以指定字符集(CHARACTERSET(江南博哥)和国家字符集(NATlONA1.CHARAcTERSET)。国家字符集实质上是为OraCIe选择的附加字符集,主要作用是增强OraCIe的字符处理能力。国家字符集在OraCle9i中进行了重新定义,只能在UNICODE编码中的A1.16UTF16和UTF8中选择,默认值是1.16UTF16有多种办法可以查看数据库的字符集,但是作者一般使用USERENV来查看数据库的字符集,如下:SYS©lhrdbSE1.ECTUSERENV.('1.ANGUAGE')数据库字符集FROMDUA1.;数据库字符集MERCN-AMERICA.ZHS16GBK另外,也可以通过如卜的视图来获取Oracle的数据库字符集:SE1.ECT*IROMN1.SDATABASEPARAMETERS;一数据库服务器字符集,来源于PROPS$SE1.ECT*FROMN1.SSTAXCE_PAR.AVETERS;一客户端字符集,来源于PARAMETERSE1.ECT*1ROMN1.S_SESS10N_PARAMETERS;一会话字符集,来源于VSN1.S.PARAMETERS,发示会话自己的设置,可能是会话的环境变量或者是由A1.TERSESSION完成,如果会话没有特殊的设置,将与N1.S_INSTANCE_FARAMETERS一致SE1.ECT*EROMVSN1.S_PARAMETERS;SE1.ECT*FROMSYS.PROPSS;客户端的字符集要求与服务器一致,才能正确显示数据库的非ASCII字符。如果多个设置存在,那么优先级是A1.TERSESSIoNA环境变量注册表参数文件。字符集要求一致,但是语言设置却可以不同。2. 什么是R.AID?各种级别的RAID的区别是什么?正确答案:独立冗余磁盘阵列(RedUndantArrayofIndependentDisk,RAID)是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能与数据备份能力的技术。RAlD特色是N块硬盘同时读取速度加快及提供容错性。可以将RAID分为不同级别,级别并不代表技术高低,选择哪一种RAID产品纯视用户的操作环境及应用而定,与级别高低没有必然关系。其中,RAID0、RAIDKRAID5、RA没10这四种级别比较典型,所以,这里只讨论这四种级别,它们的具体区别见下表。期RAlDoRAn)IRAIDSRADIOKftRWOftMSfVM?、际)旅它植联,般触分”和三ftttt.这些相的由酊照H版孤懿mSt(Mirroring),(即,mmfi林或多惬S中,可蜥虬DImJflbi11it6*也卡玄(1三户酮以防弓M度会比螟他减速RAIDOftHAlDlmli祟概鹦方秋服版喇期温温?僵入般曼奸聪的”绘懿瑞嘤鬻嚣黑的腮会导教魏的不可九娘陋M瞅附皮比旗(不SRAIDO,因为多存储了也三).m三A<IU三三(4ft收豺翎神串研制碇蚀M,颇娥躯),这也践蝌洞M比触射RAlDI,尊么姒的l-三修KRAlDOlWtt.胎的瓶族.RAID5ERAID稣仲脑见的一个翻RAIDlO是轴”施*«.躇历械酚为由练痂髓醐轴极力RAlDIff.RAIDIOflfH'购减载,而且服比RAIDO更马的Jft据钳啃读:Raidio=Raido耳:Raidio=Raidi询RAlDS=RAIDO(腹雌蜥求(多了一个奇战始且驮)鞋侬无谢阳御碗的百分如中RAIDK)=RAn)I砥系钟访TeMX中k蜗狗以蛔,M11fr,tttaftlau.i可以在-¥麹的独出躺奇房肱允H块也酬耳酗祓啊耻腿行取一中有T鼬峋蜥蹶熊至少般醐触息及MN块&”至城夏3螃衣VvJ至少需要4,2N块俄0(N>三0)M(三)老搬出网朝脑H三用f三Raidio=Raidi(50)加(M能而躺)mt三fiiM.熊和皴)要耳耐I罩RAn)WM单个&&进行写入提作应用楠个用户申RAIDW=RAlDl是一机滞悭、8:卷安全助御成本务卷微雅碎等飘牌揖决旗始了RAlD0、RAlS的触,殿弼上由理眼配而不足类以RAID5的-审RMfHfi".融硼串一3. 给出两种检查表结构的方法。正确答案:DESCRlBE命令(平时用DESC即可):DBMS.METADATA.GET.DD1.包。1.Oracle和MySQ1.中的分组(GROUPBY)后的聚合函数分别是什么?正确答案:在OraCIe中,可以用WA1.eoNCAT函数或1.ISTAGG分析函数;在VySQ1.中可以使用GRoUP工OCAT函数。示例如下:首比给出建表语句:CREATETAB1.ET_MAX_1.HR(ARTIC1.EVARCHAR2(30),AUTHORVARCHAR2(30),PRICENUMBER);Oracle-CREATETAB1.ET_MAX_1.HR(ARTIC1.EVARCHAR(30),AUTHORVRCHR(30),PRICEF1.OAT)MySQ1.OraCIe通用INSERTINTOTMAX1.HRINSERTINTOTMAX1.HRINSERTINTOTMAX1.HRINSERTINTOTMAX1.HRINSERTINTOT_MAX_1.HRCOMMIT:VA1.UES(,0001,B,3.99);VA1.UES(,0002,A,10.99);VA1.UES(,0003,C,1.69);VA1.UES(,OOOf/B',19.95);VA1.UES(,0005,6.96):SE1.ECT*ROMT_MAX_1.HR;在MySQ1.中:峭l>SE1.ECTTAInHORIGROUP,CONCAT(TAR11C1.E),GROUP_CONeAT(T.PRiCI)->FROM1.MwHRT->Groitbytauthor;Gn.(三(.w)I三p.cm(,rai()*A0002,三I,ia99,6.96:80001,MIIW119.95IC0003I1.693rowsin$d(EW»c)在Oracle中:1.HRgcrdBnPSaECrTAUnIOR.啊。赋机TARME)ARTIeIEtWM一CONCATn,PR1CT)PRICE2 FROM1.M必1.HRT3 GRoIPBYTA加OR;AlTOARTIC1.EPRICEAOXe.000510.W,6.96B0!,00043.99.19.95COKe1.691.HRgorcUsn>SE1.ECT!AUTHOR.2 UsTAGG(1.ARTIC1.E'.)WlnHNGROtTORDERBYTfRlCE).ARTIC1.E,3 USTAOHT.PRKI,:iWTTHINGRWrderBYTfRlCE)PRICE4 FRoM1.MAI1.HRT5 GRO1.TBYTOfcMWARTIC1.EPRIdAOoO5.00026.96,Id99B0001,001»3.99,19.95C00031.695. 如何进行强制日志切换?正确答案:A1.TERSYSTEMSWITCH1.OGFI1.E;6. 常用的crontab命令有哪些?正确答案:常用的CrOntab命令如下:crontab-1#列出某个用户CrOnd服务的详细内容crontab-r#删除没个用户的Crond服务crontab-e#编辑某个用户的Crond服务7. 在不知道原密码的明文是什么的情况下,如何更新密码?正确答案:在OraCIe中,若用户的密码变为锁定状态(1.oCKED、1.OCKED(TIMED)时,DBAnj以直接执行mA1.TERUSER用户名ACCOUNTUN1.OCK"来解锁。但是,如果用户的状态变成过期状态(EXPIRED、EXPIRED(GRACE),那么DBA必须要更改用户的密码账户才能重新使用。但有些时候,因为各种原因并不知道原密码的明文是什么,这时候可以有如下2种办法来更新密码。1 .用原密码的密文来更改密码在OraCIeIOg中,DBAjJSERS视图的PASSWORD字段提供了密码的密文形式,而在OraCleUg中,该字段被弃用了,内容为空,但是在基表USER$中的PASSWORD字段依然有记录密文形式,所以可以通过如下的形式来获取密码的密文形式:SE1.ECTD.USERNAME,D.ACCOUNT_STATUS,D.1.OCK_DATE.F).EXPIRY-DATE,D.PROFI1.E,W1.(D.PASSWORD,(SE1.ECTNB.PASSWORDFROMUSERSNBWHERENB.NME=D.USERNAME)PASSWORDFROMDBA_USERSDWHERED.USERNME=*1.HRSYS'USERNAMEACCOUNT_STCTUSI1.OOe-DATEIEXPRY.DATEPROFI1.E!PASSWORDIIllHRSyS-7OPEN-DEFAU1.TFS09740,:20A.J4EFC另外,可以通过DBVS_VETADATAGET.DD1.包或者CXPdp、CXP命令来获取创建用户的语句从而获取密码的密文形式。SYSClhrdbXellong9999SYS(lhrdb>SE1.ECTDBMSMETADATA.GETDD1.('USER','1.HRSYS')DD1.SQ1.FROMDUA1.;DD1.SQ1.CREATEUSER"1.HRSYS"IDENTIFIEDBYVA1.UES,S:853E80BE11F79D6946453F38059E30313FE84C96E2EE4F335648BD:F809740420A44EFC,DEFAU1.TTAB1.ESPACE"USERS"TEMPORARYTAB1.ESPACE"TEMP"获取了密码的密文后就可以用如下的命令来修改/,注意:使用密文的命令中多了一个VA1.UES关键字:SYSldb>anCTUffiSYSMifiaibyrahnnW74(W0A&EFC;Uxraltfftd.SY%db>CONN1.HRSYWI192,168.59.1及*Connccxd.1.HRSYS92.网般129*>com;1as"加Cconcckd.SYSaJb>us1.HRSYSi<teifWbynluesS«53EAajeAEHF三946453F380帕加幅C三2EE4BA心A我B6F三4M20A44EH?;UseraluralS>¾db>CONN1.HRSYsfc92168.59.1为血*Connokd.所以,即使不知道用户的原密码是什么,也可以用它的密文来更改密码。这样既保持了密码不改变,乂可以把EXPIRED的状态更改掉。2 .直接更新USERS基表不管用户的状态是什么,通过更新USERS表可以让用户处于OPEN状态。8. 什么叫数据抽象?试举例说明。正确答案:数据抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。例如,在学校环境中,李英是老师,表示李英是教师类型中的一员,则教师是实体型,李英是教师实体型中的一个实体值,具有教师共同的特性和行为,在某个系某个专业教学,讲授某些课程,从事某个方向的科研。9. RMAN可以用来备份哪些文件?不能用来备份哪些文件?正确答案:RMAN可以用来备份:数据库:包括数据文件、控制文件、SPFI1.E(ServerParameterFiIe)文件;表空间;归档文件;备份集。RMAN不能用来备份:联机日志文件(OnlineRedo1.ogs);非READ/WRITE状态的可传输表空间:PFl1.E(ParameIerFile)文件。10. 分区表在查询的时候如何避免全分区扫描?正确答案:OraCIe的分区扫描方式可以分为单分区和多分区扫描。1)如果要求单分区查询,那么需要加上PARTITION关键字。SE1.ECT,FROMTlSTJtANGE一PARMl我1.HRPAR11110N(PT3)A;2)如果要家不熊全分反查询,那么在WHEKE条件中应该加上分区键的过滤条件。如下,CREATED列是分区键:SE1.ECTFROMTK1.RANGEpRTmOX1.HRAWHEREA.CSEATEDBETWEEN电DATEnol3060YYYYMMDU)AND电DATEr&4O53I7YYYYMMD11. 如何实时查看日志输出?正确答案:在1.inUX中,可以使用命令"tail-f”来实时查看日志的输出。WindowsK也有tai1.exe工具,直接复制到目录C:WindowsSystem32卜然后直接输入命令"tail-f文件名”即可。12. 在OraCle中,如何移动或重命名数据文件?正确答案:有3种办法。1)关闭数据库,利用OS拷贝,步骤如下:A、SHUTDOWNIMMEDlATE关闭数据库B、在OS下拷贝数据文件到新的地点C、STARTUPMOUNT启动数据库到VOUKT状态下DA1.TERDATABASERENAMEFI1.E'老文件'T0'新文件'E、A1.TERDATABASEOPE;打开数据库2)利用RMAN联机操作RVAN>sq/alterdatabasedatafile*filename*offline*;RMN>run2>copydatafile,oldfilelocation'to'newfilelocation"3>switchdatafile'oldfilelocation'todatafiIecopy'newfilelocation,;4>RMAN>sql"alterdatabasedatafiIe"filename"online”;其实利用OS拷贝也可以联机操作,不关闭数据库,与RMAN的步骤一样,利用RMAN与利用OS拷贝的原理一样,在RMAN中COPY命令是复制数据文件,相当于OS的CP,而SWlTCH则相当于A1.TERDATABASERENAME用来更新控制文件。3)利用A1.TERTAB1.ESPACE操作A1.TERTAB1.ESPACE只能用于下面情况下的数据文件:不是SYSTEV表空间,不包含激活的回滚段,还有临时段,但是用A1.TERTAB1.ESPACE可以在实例启动的时候来执行,而A1.TERDATABASE则适应于任何的数据文件,但是数据库要在VOUNT状态下。A1.TERTAB1.ESPACE方法步骤如下:OFF1.INE相应的表空间:A1.TERTAB1.ESPACETS.1.HRDATAOHF1.INE;用操作系统命令重命名或者移动数据文件;用A1.TERTAB1.ESPACE命令来重命名数据库中的文件:A1.TERTAB1.ESPACETSjHRDATARENAMEDATFI1.E,ullhrdbdatal.dbf,T0,u02lhrdbdata01new.dbf,;ON1.lNE表空间:A1.TERTAB1.ESPACETS1.HRDATON1.INE;13. SQ1.SerVer中的锁分为哪几种?正确答案:SQ1.SerVer中的锁分为以下几种:名称简介何时使用共享锁(Share1.ocktS锁,读锁)S锁是可以查看但无法修改和删除的一种数当执行SE1.ECT据锁。若事务T对数据对象时,数加上S锁,则事务T只能读A:其他事务据库会H动使只能再对A加S锁,而不能加用S锁X锁,宜到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改排它锁(exclusive1.ock,X锁,独占锁,写锁,互斥锁)如果事务T对数据A加上X锁后,则其他事版TFSERT'务不能再对A加任何类型时数据Y的锁。获得K锁的事务既能读数据,又能修J烈如Y取奴站动使用X锁U锁意味着事务即将要使用X锁,它目前正在扫描数据,以确定要使用;更新锁(UPdate1.ock*U锁)X锁锁定的那些行。它用于可更新的资源读阶段:中,防止当多个会话在读取、锁操作阶段N定以及随后可能进行的资源更新时发生常见更新阶段x形式的死锁。使用U锁可以提高处理并发查询的吞吐量意向锁(Intent1.ock»I锁)I锁是一种用于警示的锁,用于建立锁的层次结构。I锁包含三种类型:锚曲灯口意向共享(IS)、意向排它(IX)和意向排它共辿刖怀也享(SlX)SCh锁分为架构修改(SChemaMOdify,Sch-当修改表结构M)锁和架构稳定性(Schema时使用,Stability,SCh-S)锁。拥有SCh-M锁期即数据库引擎间,SCh-M锁将阻止对表进行并发在执行架构锁(SChema1.ock,Sch锁,模式锁)访问。这意味着Sch-M锁在释放前将阻止DD1.操作(例所有外围操作。某些DM1.操作如,添加列使用sch-M锁阻止并发操作访问受影响的或删除表)的过:表。SCh-S锁不会阻止某些事务程中使用锁,其中包括X锁。因此,在编译查询的过SCh-M锁。当数程中,其他事务(包括那些针据库引擎对表使用X锁的事务)将继续运行。但是,在编译和执行无法针对表执行获取Sch-M锁查询时使的并发DD1.操作和并发DM1.操作用Sch-S锁大容量更新锁(BulkUpdate1.ock>BU锁)数据库引擎在将数据大规模复制到表中时,在向表进行大指定TAB1.OCK提示或使用容量数NSPlabIeOPtion选项(将数据表设置为据复制且指定Ntablelockonbulkload)»则是使用BU了锁。BU锁允许多个线程将数据并发地大容TAB1.OCK提示时量加载到同一表,以降低数据使用表的锁定竞争,同时防止其他不进行大容量加载数据的进程访问该表在以上表格中需要注意的是,同一资源可以加多个S锁,但是只能加一个X锁。考点锁14. 试述数据、数据库、数据库系统、数据库管理系统的概念。正确答案:D数据(Data):描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音等。现代计弊机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。数据与其语义是不可分的,例如,100这个数字可以表示一件物品的价格是100元,也可以表示一段路程是100公里,还可以表示一个人的体重为100斤。2)数据库(DataBase,DB):数据库是长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。3)数据库系统(DataBaSeSystem,DBS):数据库系统是指在计算机系统中引入数据库后的系统构成。数据库系统和数据库是两个概念。数据库系统是一个系统,数据库是数据库系统的一个组成部分。但是,在日常工作中人们常常把数据库系统简称为数据库。4)数据库管理系统(DataBaSeManagementSystem,DBMS):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS是一个大型的匆杂的软件系统,是计算机中的基础软件。DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。目前,专门研制DBvS的厂商及其研制的DBMS产品很多。著名的有美国IBM公司的DB2关系数据库管理系统和IMS层次数据库管理系统、美国OraCIe公司的OraCIe关系数据库管理系统、美国微软公司的SQ1.Server等。15. 行链接和行迁移有什么区别?正确答案:当一行的数据过长而不能存储在单个数据块中时,可能发生两种事情:行链接(RowChaining)或行迁移(RowMigration)。1)行链接:当第一次插入行时,由于行太长而不能容纳在一个数据块中时,就会发生行链接。在这种情况下,OraClC会使用与该块链接的一个或多个数据块来容纳该行的数据。行链接经常在插入比较大的行时才会发生,例如包含1.ONG、1.oNGROW、1.oB等类型的数据。在这些情况下,行链接是不可避免的。行链接通常由INSERT操作引起。2)行迁移:当一个行上的更新操作导致当前的数据增加以至于不能再容纳在当前块,这个时候就需要进行行迁移,在这种情况下,OraCle将会迁移整行数据到一个新的数据块中。一个行迁移意味着整行数据都将会移动,原始的数据块上仅仅保留的是指向新块的一个地址信息。发生行迁移的时候行的ROWID不会改变。行迁移的情况主要必由于表上的PCTFREE参数设置过小所致,所以必须设置一个合适的PCTFREE参数。可以使用exp/imp工具导入导出来处理行迁移。行迁移通常由UPDATE操作引起。16. 当Oracle用户密码含特殊字符时,如何登录?正确答案:当OraCIe用户密码含有特殊字符(例如,&、当$等)时,SQ1.*Plus和exp或expdp等工具进行登录的时候在写法上有很大的差异。若密码不含“&”符号,则可以使用双引号将密码括起来进行密码修改:alteruserIhridentifiedby"lhkr/O”;若密码包含有"也”符号,则需要首先设置.define为Off才可以修改密码:setdefineoffalteruserscottidentifiedby*$tiger&1231®hr/0%s,d$*;alteruserscottidentifiedby"$?'$%*Hf'Va-q/$-#V>':H$”;若密码包含有双引号,则需要使用PaSSWOrd来修改密码:passwordscott在1.inux平台下,使用不同客户端连接Oracle数据库的写法见下表。1.i普通用户平台SQ1.*Plus工具exp、imp、expdpimpdp无tnssqlplus,lhrz,10hrO'''expdp,lhrwlhrO,有tnsSqIPlUS,lhr/"lh'r/O'''1.HRDB:常”除匕/0Q1.HRDB无tnssqlplusassysdbasqlplusSyS用户有tns'sys/"lh'r/O'''1.HRDBasSySdba正常密码sqlplussys/lhrlhrdbassysdba在上表中,含特殊字符密码为SQ1.*Plus工具expdp,/ASSYSDBA'expdp"sys/"lh'r/O'''1.HRDBassysdba'expdp,syslhrl.HR)BasSySdba'exp、imp、expdpimpdplhr/O,正吊密码为lhr,tns为1.HRDB,总的写法原则:密码用双引号括起来,用户名和密码用单引号括起来,然后【用户名】十【密码】+tnsT【assysdba用单引号括起来,最后的这个单引号用进行转义。在WindOWS平台下,使用不同客户端连接Oracle数据库的写法见下表。Windows平台SSSnnnttt无有无普通用户sqlpluslhrlhrOsqlplusIhr八"lh'r/O"expdplhrlhr/OexpIhrAAwI0,sqlpluslhr/*l®hr/O*1.HRDBsqlpluslhr*WhrO*01.HRDBexpdpIhr通hrO”"刨,HRDHexpdpIhrA*lghr/O*1.HRDBSqlPIUs/assysdbaexpdp*asSySdba"sys用户有tns正常密码在上表中,Sqlplussys*iehrO*1.HRDBassysdbasqlplussysA*lehr/O*1.HRDBassysdbasqlplussys/lhrlhrdbasexpdp”sysIhr1.HRDBassysdbasysdba*含特殊字符密码为lhr/O,正常密码为lhr,tns为1.HRDB,总的原则:密码用3个双引号括起来,或者用一个双引号括起来,然后用将双引号进行转义。17. SQ1.语句的执行过程有哪些?正确答案:OraCle'数点库里SQ1.语句的执行过程可以如下图所示。在上图中,可以看到SQ1.语句的执行过程大致分为以卜几个步骤:1)当用户提交待执行的目标SQ1.后,Oracle首先会对目标SQ1.进行解析。在这个过程中,Oraele会先执行对目标SQ1.的语法、语义和权限的检查:语法检查(SyntaXCheCk)是检查目标SQ1.的拼写是否正确,例如,错将关键字“FRO字写成“FORM”,将“SE1.ECT”写成“SE1.ET”等。语义检查(SemantiCCheCk)是检查SQ1.语句中的访问对象是否存在及该用户是否具备相应的权限。2)如果目标SQ1.不能通过上述语法、语义和权限的检查,那么该目标SQ1.将解析失败。如果目标SQ1.能通过上述检查,那么接下来OraCle就会去SGA的共享池中的库缓存中查找是否存在匹配的共享游标。如果找到了匹配的共享游标,那么Oracle就会把存储于该共享游标中的解析树和执行计划直接拿过来重用,这相当于跳过了后续的“查询转换”和“查询优化”这两个步骤,直接进入“实际执行”阶段。3)如果找不到匹配的共享游标,就意味着此时没有可以被重用的解析树和执行计划,那么接下来整个执行过程就进入查询转换这一步。在查询转换过程中,OraCIe会根据一些规则来决定是否对目标SQ1.执行查询转换,这些规则在OraCle不同的版本里不尽相同。在OraeIe9i中,查询转换是独立于优化器的,它与优化器的类型无关,但是从OraCleIOg开始,Oracle会对某些类型的查询转换(比如了查询展开、复杂视图合并等)分别计算经过查询转换后的等价改写SQ1.的成本和原始SQ1.的成本。只有当等价改写后SQ1.的成本值小于未经过查询转换的原始SQ1.的成本值时,Oracle才会对目标SQ1.执行查询转换。在执行完查询转换后,原目标SQ1.可能就被OraCIe改写了,当然也有可能没有改写。4)接下来,OraCle就正式进入了查询优化这个步骤。在这个步骤里,Oracle会根据不同的优化器类型(CBo或RBo)采用不同的判断原则,从执行完查询转换后得到的目标SQ1.的诸多可能的执行路径中选择一条效率最高的路径来作为其执行计划,即查询优化的输入就是执行完查询转换后得到的等价改写SQ1.,其输出就是该目标SQ1.的最终执行计划。5)在得到了目标SQ1.的执行计划后,接卜来Oracle就会根据执行计划去实际执行该SQ1.,并将执行结果返回给用户。18. 什么是MySQ1.的套接字文件?正确答案:MySQ1.有两种连接方式,常用的是TCP/IP方式,如下:mysql-hl92.168.59.159-uroot-plhr还有一种是套接字方式。UniX系统下本地连接MySQ1.可以采用Unix套接字方式,这种方式需要一个套接字(SoCket)文件。套接字文件就是当用套接字方式进行连接时需要的文件。套接字方式比用TCP/IP的方式更快,更安全,但只适用于MySQ1.和客户端在同一台PC上。套接字文件可由参数socket控制,一股在tmp目录下,名为mysql.sock,也可以放在其他目录下,如下:m>ql>sbwVadlbleSliekef:YariableJIaleValuesocket;/varlib,s()157.11ysql.sk用套接字连接MySQ1.:mysql-plhr-Svarlibmysql57mysql.sock19. 数据库参数RESOURCEjJMn"的作用是什么?正确答案:该参数用来启用或禁用数据库资源限制(通过PROFI1.E设定)。关于RESoURCE_1.IMIT需要注意以下两点:1)由户所有拥有的PROFI1.E中有关密码的限制永远生效,不受限制。2)用户所有拥有的PROFI1.E中有关资源的限制与RESolJRCEjJMIT参数的设置有关,当为TRUE时生效,当为FA1.SE时(默认值是FA1.SE)无效。在OraCIe12c之前该参数默认为FA1.SE,而从12c开始,该参数默认为TRUE。20. 什么是绑定变量窥探?正确答案:目标SQ1.若不使用绑定变量,则当具体输入值旦发生了变化,目标SQ1.的SQ1.文本就会随之发生变化,这样OraCIe就能很容易地计算出对应SeleCtiViIy和CardinaIity的值,进而据此来选择执行计划。但对于使用了绑定变量的目标SQ1.而言,情况就完全不一样了,因为现在无论对应绑定变量的具体输入值是什么,目标SQ1.的SQ1.文本都是一模一样的。对于使用了绑定变量的目标SQ1.而言,Oracle可以选择如下两种方法来决定其执行计划:1)使用绑定变量窥探(BindPeeking)02)如果不使用绑定变量窥探,那么对于那些可选择率可能会随着具体输入值的不同而不同的谓词条件使用默认的可选择率(例如5%)绑定变量窥探是在OraCIe9i中引入的,是否启用绑定变量窥探受隐含参数"J)PT1.1.PEEKJJSEi1.BlNDS”的控制,该参数的默认值是TRUE,表示在Oracle9i及其后续的血本中,默认启用绑定变量窥探。