数据库程序员面试分类真题29.docx

上传人:夺命阿水 文档编号:1416081 上传时间:2024-06-15 格式:DOCX 页数:14 大小:79.12KB
返回 下载 相关 举报
数据库程序员面试分类真题29.docx_第1页
第1页 / 共14页
数据库程序员面试分类真题29.docx_第2页
第2页 / 共14页
数据库程序员面试分类真题29.docx_第3页
第3页 / 共14页
数据库程序员面试分类真题29.docx_第4页
第4页 / 共14页
数据库程序员面试分类真题29.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《数据库程序员面试分类真题29.docx》由会员分享,可在线阅读,更多相关《数据库程序员面试分类真题29.docx(14页珍藏版)》请在课桌文档上搜索。

1、数据库程序员面试分类真题29简答题1. 你接触过哪些OS系统?常用命令有哪些?正确答案:首先,对于OraCIe数据库而言,常用的系统是1.inUX、AIX、Windows、HP-UX等,对于MySQ(江南博哥)1.常用的系统是1.inUX系统,对于SQ1.SerVer常用的系统是Windows系统。IT人员对Windows系统都很熟悉,需要重点学习的是Windows下的服务和注册表,希望读者可以查找相关资料对WindOWS下的服务和注册表进行深入的学习。需要注意的是,IMN键+R键可以打开运行框,输入SerViCeS.msc即可打开Windows的服务。对于1.inUX和AlX系统,需要了解几

2、个常用的命令,见下衣。命令描述1.inuxIX查看CPu利用率toptopas/nmon查看内存的使用率vmstat/freevmstat查看磁盘的使用率df-hdf-g查看进程ps-efps-ef1.inuxItoP截图如卜图所示。1.VjAaA7*9wpm.W4B.WS于0,rasks:16?tot1,1rtrtn1w,161sleeping,0stopped,02abf:pu($):l.nus.2.7Xsy.0.%n1.87.!d.8.8wa.O.OMH10.l%si.0.0%St,ew;1261200ktotal,1108776kused.152424kfree,172408kbuff

3、ersSWatK4104596ktotal,Okused.4104596kfree.671992kcachedPIDUSERPRNXVIRTRESSHRS%CPU127!610720R2.00.1150103486M576S0.00.1RT-S00050.00.03419000S0.00.0RT-5000S0.00.0190000.00.0RT-50000.00.034190000.00.0RT50000.00.00:00.920:00.090:00.000:00.080:00.000:00.060:00.000:00.0700“IgrdtionZOksoftirqd/Oigraionlkso

4、ftfrqd/1Odgraton2ksoftrqd2aigrtfo113ksftird3AIX下输入topas可以看到:EVtHTSzQVcswftcnEe5l1.ETrIe*1.A)2514:15:442016T11trval:?0906RPAdCh351.OKIt11dtSyscallReads1291VWrStXhUi7ftCPUKKer11xWi%dc%Pnysc194RJw1n0TotalT7.00.18S.80.2424.14writesMTtyOUI497FOrk35igct5nw10NetworkBP5T-PktO-Pktsn-x11B-OutlFxecs6554rrmfl1.

5、On6*26.31K4V94Runquu9waitqee8.95Dfrblk00.0MEMORYmjsy%BPSTPSdB-wrtTOtdTC*CaaO3119KPAGIMSReal,mb368(*4FmI【s32,%Coop46JlIIET*2_-7ESlfl5teaB0XNoncornpSClient7020.*I*j18.8.Pgspin0Pgspt0NA,11CPIOCPV%PqspO11erPageIn4PAGISCSPACEorage11tjava851*9?5898292.01.357.IM1.07MoraclerootPaqcouiSfOS48sfze.N%usedS1921o

6、rarOOia35586OSO1.2n.8Mt%Pree99ccssd.bi369614900.S91.8MgridNFS(call5sec)ItOP15108790960.35.60HrootServi0ACtIv0Oraagenx37159(XM0.371.OMgridCHV20paoTotal0crsd.bdevloop,devrandondevurandonixdevstdin-./dev/stdoul、devstderr,devfd%devupd和devtcp等。这些设备在1.inUX的SHE1.1.命令里有特殊的作用。devstdin指的是健盘设备;devstdout指向标准输出,

7、因此重定向给它的数据,最终发送到屏幕上(fdD:devstderr指向错误输出,默认也是输出到屏幕上面,但是它的内容不能通过管道传递给grep,管道只能传递标准输出。例如,catteststdindevnullodcvzer。是一个特殊的文件,当读它的时候,它会提供无限的空字符(NU1.1.SCIINU1.1.0x00)。其中的一个典型用法是用它提供的字符流来覆盖信息,另一个常见用法是产生一个特定大小的空白文件。例如,ddif=dcvzeroof=testzerocount=1024bs=1024odcvfull(常满设备)是一个特殊设备文件,总是在向其写入时返回设备无剩余空间(错误码为ENO

8、SPe),读取时则与devzero相似,返回无限的空字符(U1.1.、ASCIINU1.1.、0x00)o这个设备通常被用来测试程序在遇到磁盘无剩余空间错误时的行为。例如,echo,chengmodevful1devrandom是一个特殊的设备文件,可以用作随机数发生器或伪随机数发生器。它允许程序访问来自设备驱动程序或其他来源的背景噪声。devfd记录用户打开的文件描述符。devtcpudphostPort读取该类形式设备,将会创建一个连接host主机port端口的tcpupd连接。dcvloop循环设备可以把loop文件作为块设备挂载使用。例如,mount-0loopexample,ingh

9、omechengmoimg.考点1.inux中的设备3. 1.inux中loop设备的作用是什么?正确答案:在进行某些测试的时候,往往需要新建一些磁盘分区或者设备等,此时对硬盘进行重新划分往往不太方便。在这种情况下,可以通过1。P伪设备来实现循环挂载,从而达到目的。在使用之前,循环设备必须与现存文件系统上的文件相关联。这种关联将提供给用户一个应用程序接口,接口将允许文件视为块特殊文件使用。因此,如果文件中包含一个完整的文件系统,那么这个文件就能如同磁盘设备一般被挂载。这种设备文件经常被用于光盘或者磁盘镜像。通过循环挂载来挂载包含文件系统的文件,以便使处在这个文件系统中的文件得到访问。这些文件将

10、出现在挂载点目录下。在1.inUX中,设备名按照相应设备驱动程序的符号表项进行命名,】。P设备节点通常命名为/dev/loopO、devloopl之类。默认情况F1.inux支持的loop设备是8个。如果需要超过8个的100P设备,那么可能会遇到类似“nosuchdevice”或wcouldnotfindanyfreeloopdevice”的错误,这是因为超过了可用1。P设置设备的最大限制,此时可以通过修改etcmodprobe.conf配置文件,增加如下参数的方式进行扩展:options1。OPmax_lOOP=20#此次增加到20个保存退出即可,如菜需要马上生效,那么可以通过modprob

11、e-V100P命令立即加载该模块。还有一种扩展loop设备数量办法是用mknod命令创建loop块设备:mknod-m0660dcv100pXb7X其中的X代表第X个loop设备。示例如下:wW6fadev)SB!ccpUw一ITaXdiSk7.0Jul270W9即brw-1wXdisk7,IJul27039lbrw-wl11xxdisk7,2Ju1270W9k2tawiwIraxdisk7,3Jul270W93b11r11r-Inxtdisk7,4Jul270M9loop!施F-lrcdsk7,5Jul27配9100P5b11r11r-Inwcdi7,6Jul210W9loop6bFIroc

12、Kdisk7,7Jul270W9loop7IroOIrM6lhrdcs三11iMm0660也vop8b7811xxgbel61hfde5lloopb11rr三-IrtMdtskTlJ、rn1nvJ,OJul27(0100pOIJul270959loop!2Jui270W9loop?3Ju!270W91oop54Jui27三loc55Jd270ocp56M2700loop67堀刀09:39师7Dnfc(UIOO(uSiIv(JnrIV一rooti7,IxHF-IrooKfck7,br*FIroMd7,Ixwm-Inxxdisk7,w,Irootdiik7,w-Irootfek7.fem*Iro(

13、XrcceSJul271W6100pSrgdStrb)idB*nrootdidn.loop8We豳6111Iraxdisk7,4Jul270W9kp15Jul2709:39k6川270W9M7Jul27(39kxp?bnnwIraxdidc?,8川27l%kp8使用命令Iosetup-a可以查询目前被使用的100P设备:root0rhel61hrdev#Iosetup-adevloopO:0005:6631(devsr)devloopl:fdl:131081(u05oracleasmdiskdiskl)devloo2:IfdOl:131080(/u05orac1e/asmdisk/disk2)

14、devloop3:fdl:131082(/u05orac1e/asmdisk/disk3)devloop4:fdl:131083(u05orac1e/asmdisk/disk4)考点1.inUX中的设备4. 如何使用100P设备创建ASM磁盘?正确答案:使用I。P设备可以创建ASM磁盘,通过Faking的方式不需要额外添加磁盘,可以在现有文件系统上分配一些空间用于ASM磁盘,过程如下:mkdir-poracle/asmdiskddif=devzemof=/orac1e/asmdiskdisk1bs=1024kcount=1000ddif=devzeroof=/orac1e/asmdisk/di

15、sk2bs=1024kcount=1000sbinlosetuptlevloop1/oracle/asmdisk/disk1sbinlosetupdevloop2oracle/asmdisk/disk2raw/dev/raw/rawldev1oop1raw/devrawraw2devloop2chmod660/devraw/rawlchmod660/devrawraw2chownorac1e:dbadevrawraw1chownorac1c:dbadevrawraw2将以下内容添加到文件ctcrc.IoCal文件中:sbinlosetupdev100pl/orac1e/asmdisk/disk

16、isbin/losetupdev1oop2orac1easndisk/disk2raw/devraw/rawldev100plraw/devrawraw2dev1oop2chmod660tlevrawraw1chmod660/devraw/raw2chownoracle:dbadevraw/rawlchownorac1e:dbadevrawraw2这样就可以使用ASM磁盘了。考点1.inUX中的设备5. 什么是字符设备、块设备和裸设备?正确答案:字符设备:对字符设备的读写不需要通过OS的缓冲区(BUffer),它不可被文件系统MOUN(字符特殊文件与外设进行I/O操作时每次只传输一个字符,通常

17、不支持随机存取数据。块设备:对块设备的读写需要通过OS的缓冲区(BUffer),它可以被MoINT到文件系统中。块设备文件用来同外设进行定长的包传输,它使用了CaChe机制,在外设和内存之间一次可以传送一整块数据。块设备通常支持随机存取和寻址,并使用缓存器。裸设备:也叫裸分区(原始分区),是一种没有经过格式化,不被UnixZ1.inux通过文件系统来读取的特殊字符设备。裸设备可以绑定一个分区,也可以绑定一个磁盘。裸设备使用字符特殊文件,它由应用程序负贡对它进行读写操作,不经过文件系统的缓冲。考点裸设备(RAN)6. 对于Oraele数据库,使用裸设备的好处有哪些?正确答案:因为使用裸设备避免了

18、再经过OS这一层,数据直接从磁盘到数据库进行传输,所以,使用裸设备对于读写频繁的数据库应用来说,可以极大地提高数据库系统的性能。当然,这是在磁盘的。非常大,并且磁盘0已经成为系统瓶颈的情况下才成立。如果磁盘读写确实非常频繁,以至于磁盘读写成为系统瓶颈的情况成立,那么采用裸设备确实可以大大提高性能考点裸设备(RAW)7. 能够使用一个磁盘的第一个分区作为裸设备吗?正确答案:可以,但是不推荐。因为磁盘的第一个分区常常包含这个磁盘的一些信息,以及逻辑卷的一些控制信息。若这些部分被裸设备覆益,那么磁盘就会变得不可识别,导致系统崩溃。考点裸设备(RAw)8. 能否把整个裸设备都作为Oracle的数据文件

19、?正确答案:不行。必须让数据文件的大小稍微小于该裸设备的实际大小,一般来说,至少要空出两个OraCle块的大小。考点裸设备(RAW)9. 在创建数据文件时如何指定裸设备?正确答案:和普通文件没有太大的区别,都是在单引号里边写上裸设备的详细路径就可以了。例如,要创建一个表空间,使用两个裸设备,卷个分别为30MB的大小,nJ-以用下面的命令:CREATETAB1.ESPACERAW_TSDTFI1.E,devrawl,SIZE30712kDATAFI1.E,devraw2,SIZE30712k;考点裸设备(RM)10. 如何在裸设备上进行备份?正确答案:在裸设备上,不能使用UniX实用程序来进行备

20、份,唯一的办法是使用最基本的UniX命令:dd来进行备份O例如,ddif=devrawlof=devrmtObs=l6k考点裸设备(RAW)H.1.inUX如何绑定裸设备?正确答案:有以下两种方式:1)命令绑定rawdevrawrawndevxxx其中n的范围是08191.raw目录不存在可以创建。执行这个命令,会在devraw下生成一个对应的rawn文件。用命令方式绑定裸设备在系统重启后会失效。2)修改文件修改elcsysconfig/rawdcviccs文件如下,以便开机时自动加载裸设备,如:/devraw/rawldcvsdb1这种方式是通过启动服务的方式来绑定裸设备。也可以把这个命令写

21、在etcrc.local上,使每次启动都执行这些命令。考点裸设备(RAW)12. 如何把裸设备作为Oracle数据文件?正确答案:步骤如下:绑定裸设备;改变裸设备属主。有以下两种方法:1)把以下命令加入etcrClocal上:chownoracIezoinstall/devraw/rawl2)修改etcudcvPCrnIiSSiOns.d50-udcv.permissions文件:将该文件中的raw/*:root:disk:0660修改为raw/*:oracle:oinstall:0660该命令即修改裸设备的默认属主为Oracleioinstall,默认的mode是0660如果是用IVnb那么

22、也需要把逻辑卷绑定到裸设备上,过程和绑定到普通分区类似。考点裸设备(RM)13. 使用裸设备作为Oracle数据文件有什么需要注意的?正确答案:使用裸设备作为OraCle的数据文件必须注意以下几点:1) 一个裸设备只能放置一个数据文件。2)数据文件的大小不能超过裸设备的大小,为了简单起见,对所有的文件设置成比裸设备小IMB即可。3)数据文件最好不要设置成自动扩展,如果设置成自动犷展,一定要把MAXSIZE设置为比裸设备小。考点裸设备(RAN)14. 是否可以宜接用逻辑卷作为oracle数据文件?正确答案:1.inUX下OraCle不能直接把逻辑卷作为裸设备,要进行绑定,Unix下不需要进行绑定

23、。考点裸设备(RM)15. 如何知道当前绑定了什么裸设备?正确答案:“raw-qa”命令可以列出当前绑定的所有裸设备。考点裸设备(RAN)16. 如何知道某个裸设备的大小?正确答案:找出裸设备对应的是哪个实际的块设备,然后用fdisk-ldevh,sdXN查询那个块设备的大小;也可以用blockdev命令来计算,如:Sblockdev-getsizedevraw/rawl1171875011718750表示有多少OSB1.oCKo一般一个OSB1.oCK大小是512B,所以,11718750*512/1024/1024/1024MB=5722MB就是裸设备的大小。考点裸设备(RAW)17. 数

24、据库中可以同时以文件和裸设备作为数据文件吗?正确答案:可以。甚至在同一个表空间中,也可以部分数据文件用文件系统,部分文件用裸设备。但是不建议这样做,因为会增加管理的复杂度。考点裸设备(RM)18. 裸设备可以绑定的对象有哪些?正确答案:可以绑定至个没有分区的硬盘、硬盘的某个分区、逻辑卷等。考点裸设备(RAW)19. 1.inux下如何设置定时任务(CrOnIab)?正确答案:系统常常杳定时执行一行工作,例如,每天的系统信息统计、系统安全检杳等,而系统管理员及一般使用者也可以设定定时执行一些工作,这些工作可以定时只执行一次,或是定时重复执行。如果是要设定只执行一次的工作,例如,设定在某天10:0

25、0时执行某个指令,那么可以使用at这个指令。如果是要设定重复报行的工作,例如,设定每天12点执行某个指令,那么可以使用crontab这个指令,或者是由系统管理员编辑etccrontab这个文件来进行设定。考点定时任务20. 文件“/etc/cronlab”中的格式是怎样的?正确答案:etc/crontab的内容说明如下:roMgelhr)?more麟EnabSHEUfetashPATHs-sbininitsrlbi11jit5rMAI1.TO=TOotHOMElFtfdaailstemin4acetateExa11pleofjobiition:#.11Biute(0-59).Jot(O-B)M

26、I.dayofmoD(-3l)*I.m0n(-2)ORjln,f11r型II.一dayweek(O-6MSundi)MeCT)ORJuomu01wedt加fiiSllll八,.uscrnSaimandabeexeciad其中minute:代表一小时内的第几分钟,范围为059,每分钟用*或者*/1表示。hour:代表一天中的第几小时,范围为023。dayofmonth:代表一个月中的第几天,范围为131.month:代表一年中第几个月,范围为112。dayofweek:代表星期几,范围为07(0及7都是星期天)。USer-name:要使用什么身份执行该指令,当使用Cronlab-C编辑时,不必加

27、此字段。COmmand:所要执行的指令。除此之外,在时间的字段中,也可以用一个开头为的字符串来表示各种排程时间意义:reboot开机时跑一次。yeaily每年跑一次,等于0011*。annually和丫6214丫一样。monthly每月跑一次,等于001*,也就是每月一日半夜12点执行。WeekIy每周跑一次,等于00*0,也就是每个周日半夜12点执行。配aily每天跑一次,等于00*,也就是每天半夜12点执行。midnight和daily一样。1./0honly每小时跑一次,等于0*。还可以用一些特殊符号:JZ*”表示任何时刻。小时的字段中如果是*,我示每小时;天的字段中如果是*,表示每天;

28、依次类推。D“,”表示分割,分开几个离散的数字,对于分的参数而言,1,2,5,9表示将在1,2,5,9分各执行一次。也可以写成像这样1-2,12-14,表示在1,2,12,13,14分各执行一次。表示一个区间范围,如第2个参数里:1-5,就表示1到5点,共5次。“/n”表示每隔n个单位执行一次,如第2个参数里,“*/1”就衣示每隔1个小时执行一次命令。如在分的字段填0-23/2,表示1-22分之间,每隔两分钟执行一次,也就是0,2,4,6,8,10,12,14,16,18,20,22。如果在分的字段是+/5,表示每五分钟一次。考点定时任务21. 常用的Crontab命令有哪些?正确答案:常用的

29、CrOntab命令如下:crontab-1#列出某个用户crond服务的详细内容crontab-r,删除没个用户的CrOnd服务crontab-e#编辑某个用户的CrOnd服务考点定时任务22. 如何启用和停止cronlab服务?正确答案:CrOntab对应的服务为CrOnd,可以用*servicecrondstatus,查看Crond服务状态,如果没有启动,那么使用servicecrondstartm或rtetcinit.d/crondrestartm启动它。需要将CrOnd设置为系统启动后自动启动的服务,可以在etcrC.drC.local中,在末尾加上:servicecrondstart

30、或者改变其运行级别,让crond在开机时运行:Chkconfig-levels35crondon在使用CrOntab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致,一种比较保险的做法是在运行的脚本程序中自行设置环境变量(expog)。例如,使用。racle用户运行一些脚本的时候,脚本里需要加上OraCIe的环境变量。考点定时任务23. 错误“varSPooIcronOraCIe:Permissiondenied,如何解决?正确答案:如果以一般使用者或者管理员的身份执行Crontab-e来设定Crontab,那么不必设定身份的字段,因为crontab会Fl

31、动取得身份。有时在执行crontab的时候会报无权限使用:oracledlhr$crontab-evarspoolcronoracle:Permissiondenied出现如上错误,查看cr。Inab的权限:raxffdtIll,uablcrontabturBx1rootroo;47520Mir420Blcron目录下,直接查看这个文件,里面的内容和对应用户显示的Crontab7一致:foajfcl6l十cdvrllcnroccgd6!CronjsU318F*1cocko11Bfl206Jb232015Orade-EIroaroot63Jm152015rootIrcocSrtcKftrCTMj

32、?more(XaCiC212,Ihomecwtelrikrta11i5,1XmoraCWhmTinJngdaU国城I2,IhxMoraddhMnmmHnJQdUP4l*honc(IracIclhrniunnmjTOanirremotaldroc*2el6lOTnFnWtroaI*srinntpdittUSPOo1.niPxBPIOgger-tKIP27. 1.inux中如何将一个命令放在后台运行?正确答案:可以有两种方式:Command&:后台运行,若关掉终端则会停止运行nohupConunand&:后台运行,若关掉终端则命令也会继续运行1.inUX提供了fg和bg命令,nJ以轻松调度正在运行

33、的任务。假设发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,那么就可以用Ctrl-Z挂起这个程序,看到系统提示:1+Stopped/root/bin/rsync.sh然后可以把程序调度到后台执行(bg后面的数字为作业号):#bg11+/root/bin/rsync.sh&用iobs命令查看正在运行的任务:#jobs1+Runningrootbinrsync.Sh&如果想把它调回到前台运行,那么可以用fg:#fg1rootbinrsync.sh这样,就可以在控制台上等待这个任务完成了。常见命令:&将指令丢到后台中去执行ctrlz将前台任务丢到后台中衡停jobs杳看后台的工作状态fg%

34、jobnumber将后台的任务拿到前台来处理bgWjobnumber将任务敖到后台中去处理kill管理后台的任务考点定时任务28. 如何统计文件a.txt有多少非空行?正确答案:grep-c二.*$a.txt或grep-v,a.txtwc-1考点SHE1.1.脚本系列29. 文件b.txt,每行以“:”符分成5列,iartl:apple:3:2012-10-25:verygood,如何得到所有行第三列的总和值?正确答案:awkBEGINFS=:;S=O)s+=S3ENDprints),b.txt考点SHE1.1.脚本系列30. 取文件c.txt的第60至480行记录,忽略大小写,统计出重复次数最多的那条记录及重复次数。正确答案:Sed-n60,480Pc.txtIsortIuniq-i-cIsort-rnIhead-n1考点SHE1.1.脚本系列

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号