您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 药学 > oracle期末复习题及答案
1、以下()内存区不属于SGA。A.PGAB.日志缓冲区C.数据缓冲区D.共享池2、()模式存储数据库中数据字典的表和视图。A.DBAB.SCOTTC.SYSTEMD.SYS3、在Oracle中创建用户时,若未提及DEFAULTTABLESPACE关键字,则Oracle就将()表空间分配给用户作为默认表空间。A.HRB.SCOTTC.SYSTEMD.SYS4、()服务监听并按受来自客户端应用程序的连接请求。A.OracleHOME_NAMETNSListenerB.OracleServiceSIDC.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer5、()函数通常用来计算累计排名、移动平均数和报表聚合等。A.汇总B.分析C.分组D.单行6、()SQL语句将为计算列SAL*12生成别名AnnualSalaryA.SELECTename,sal*12‘AnnualSalary’FROMemp;B.SELECTename,sal*12“AnnualSalary”FROMemp;C.SELECTename,sal*12ASAnnualSalaryFROMemp;D.SELECTename,sal*12ASINITCAP(“AnnualSalary”)FROMemp;7、锁用于提供()。A.改进的性能B.数据的完整性和一致性C.可用性和易于维护D.用户安全8、()锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。A.行共享B.行排他C.共享D.排他9、带有()子句的SELECT语句可以在表的一行或多行上放置排他锁。A.FORINSERTB.FORUPDATEC.FORDELETED.FORREFRESH10、使用()命令可以在已分区表的第一个分区之前添加新分区。A.添加分区B.截断分区C.拆分分区D.不能在第一个分区前添加分区11、()分区允许用户明确地控制无序行到分区的映射。A.散列B.范围C.列表D.复合12、可以使用()伪列来访问序列。A.CURRVAL和NEXTVALB.NEXTVAL和PREVALC.CACHE和NOCACHED.MAXVALUE和MINVALUE13、带有错误的视图可使用()选项来创建。A.FORCEB.WITHCHECKOPTIONC.CREATEVIEWWITHERRORD.CREATEERRORVIEW14、在联接视图中,当()时,该基表被称为键保留表。A.基表的主键不是结果集的主键B.基表的主键是结果集的主键C.基表的主键是结果集的外键D.基表的主键不是结果集的外键15、在列的取值重复率比较高的列上,适合创建()索引。A.标准B.唯一C.分区D.位图16、要以自身的模式创建私有同义词,用户必须拥有()系统权限A.CREATEPRIVATESYNONYMB.CREATEPUBLICSYNONYMC.CREATESYNONYMD.CREATEANYSYNONYM17、PL/SQL块中不能直接使用的SQL命令是()。A.SELECTB.INSERTC.UPDATED.DROP18、以零作除数时会引发()异常。A.VALUE_ERRORB.ZERO_DIVIDEC.STORAGE_ERRORD.SELF_IS_NULL19、要更新游标结果集中的当前行,应使用()子句。A.WHERECURRENTOFB.FORUPDATEC.FORDELETED.FORMODIFY20、用于处理得到单行查询结果的游标为()。A.循环游标B.隐式游标C.REF游标D.显式游标21、公用的子程序和常量在()中声明。A.过程B.游标C.包规范D.包主体22、数据字典视图()包含存储过程的代码文本A.USER_OBJECTSB.USER_TEXTC.USER_SOURCED.USER_DESC23、以下不属于命名的PL/SQL块的是()。A.程序包B.过程C.游标D.函数24、()包用于显示PL/SQL块和存储过程中的调试信息。A.DBMS_OUTPUTB.DBMS_STANDARDC.DBMS_INPUTD.DBMS_SESSION25、Oracle的内置程序包由()用户所有。A.SYSB.SYSTEMC.SCOTTD.PUBLIC26、()触发器允许触发操作中的语句访问行的列值。A.行级B.语句级C.模式D.数据库级27、在非归档日志方式下操作的数据库禁用了()。A.归档日志B.联机日志C.日志写入程序D.日志文件28、以下哪种备份方式需要在完全关闭数据库进行()。A.无归档日志模式下的数据库备份B.归档日志模式下的数据库备份C.使用导出实用程序进行逻辑备份D.以上都不对29、()方式的导出会从指定的表中导出所有数据。A.分区B.表C.全部数据库D.表空间30、()参数用于确定是否要导入整个导出文件。A.CONSTRAINTSB.TABLESC.FULLD.FILE一、简述Oracle的内存结构?二、Oracle9i中的三种数据保护模式分别是什么?最大保护模式(MAXIMIZEPROTECTION)提供最高等级的数据保护,重作信息从主库同步送到备用库。直到备用库成功接收重作信息,主库上的事务才会提交。但是如果由于网络等问题,导致备用库不可用,那么主库也同时会被关闭。这种模式保证了完全没有数据丢失。最大性能模式(MAXIMIZEPERFORMANCE)这种模式下,主库上的重作信息是异步传递到备用库上,不论备用库上是否已经成功接收了重作信息,主库上的操作都会成功执行。所以这种模式提供了最好的性能,但是最低的数据保护。这种情况下容易造成数据丢失。最大可用性模式(MAXIMIZEAVAILABILITY)在备用库正常的情况下,该模式提供了跟“最大数据保护模式”一样的机制,保证没有任何数据丢失。如果备用库不可用,那么将转换到“最大性能模式”,用户可以在主库上继续执行。当备用库重新可用之后,将会继续同步。但是如果在同步完成之前,主库由于故障损坏,将会丢失数据。三、本地索引与全局索引的差别与适用情况?差别:本地索引适用于sql语句种限定一个范围的查询比如时间之类的,全局索引适用于在全部记录中查询,比如要查询一个手机号之类的。全局索引总可能出现unused的情况,需要重建适用情况:本地索引适合条件中包含partitionkey的,当然不是绝对的全局索引总可能出现unused的情况,通常的处理方式是这样的:9i里面有updateglobalindex的子句(ALTERTABLEsalesDROPPARTITIONdec98UPDATEGLOBALINDEXES;)四、数据库切换日志的时候,为什么一定要发生检查点?这个检查点有什么意义?当日志文件被覆盖的时候一定要确保相关dirtybuffer一定被写入数据文件,所以日志的切换必须引起检查点。二、填空题(每空2分,共40分)1、假设已在某远程客户端完成网络服务名配置,服务名为aptech,请写出用户MARTIN(用户口令martinpass)连接到服务器的命令:Connectmartin/martinpass@aotech2、SYS用户以管理员身份登录后,要授予用户MARTIN可以对SCOTT用户的EMP表进行查询的权限,请写出授权命令:(假设MARTIN用户已存在)Grantselectonscott.emptomartin3、创建表employee的副本,但不包含表中的记录:CREATETABLEemployee_copyASSelect*fromemployeewhere1=2;4、查询itemfile表中itemrate列的信息,要求将数值转换为字符串,并使用当前货币符号作为前缀:SELECTto_char(itemrate,'C99999')FROMitemfile;5、查itemfile表中itemdesc、re_level列的信息,要求re_level为NULL时显示为0SELECTitemdesc,NVL(re_level,0)FROMitemfile;6、完成以下PL/SQL块,功能是:显示2到50的25个偶数。BEGINFOReven_numberIN1..25LOOPDBMS_OUTPUT.PUT_LINE(even_number*2);ENDLOOPEND;7、完成以下PL/SQL块,功能是:接受职员编号并检索职员姓名。将职员姓名存储在变量empname中,如果代码引发VALUE_ERROR异常,则向用户显示错误消息。DELCAREempnameemployee.ename%TYPE;;enoemployee.empno%TYPE;BEGINeno:=’&employee_number’;SELECTenameINTOempnameFROMemployeeWHEREempno=eno;DBMS_OUTPUT.PUT_LINE(‘职员姓名:’||empname);EXCEPTIONWHENVALUE_ERRORTHENDBMS_OUTPUT.PUT_LINE(‘要存储在变量中的值过大’)END;8、完成以下PL/SQL块,功能是:使用游标,显示所有单价低于250元的玩具的单价。DECLAREmy_toy_pricetoys.toyprice%TYPE;CURSORtoy_curISSELECTtoypriceFROMtoysWHEREtoyprice250;BEGINOPENtoy_curLOOPFETCHtoy_curINTOmy_toy_price;EXITWHENtoy_cur%NOTFOUND;DBMS_OUTPUT.PUT_LINE(toy_cur%ROWCOUNT||'.玩具单价:'||my_toy_price);ENDLOOP;CLOSEtoy_cur;END;9、完成以下PL/SQL块,功能是:使用游标显示销售报表。如果目标销售额(tsales)大于实际销售额(asales),则显示消息‚需提高销售额‛。如果tsales等于asales,则显示消息‚已达到销售额‛,否则显示消息‚销售业绩出色‛DECLARECURSORsales_curISSELECT*FROMsalesdetails;BEGINFORsales_recINsales_curLOOPIFsales_rec.tsalessales_rec.asalesTHENDBMS_OUTPUT.PUT_LINE('产品:'||sales_rec.pid||'需提高销售额');ELSEIFsales_rec.tsales=sales_rec.asalesTHENDBMS_OUTPUT.PUT_LINE('产品:'||sales_rec.pid||'已达到销售额');ELSEDBMS_OUTPUT.PUT_LINE('产品:'||sales_rec.pid||'销售业绩出色');ENDIF;ENDIF;ENDLOOP;END;10、完成以下PL/SQL块,功能是:创建一个交换两数的过程。CREATEORREPLACEPROCEDUREswap(p1INOUTNUMBER,p2inoutNUMBER)ISv_tempNUMBER;BEGINv_temp:=p1;p1:=p2;p2:=v_temp;END;11、完成以下PL/SQL块,功能是:创建一个函数dept_name,其功能是接受职员编号后返回职员所在部门名称。(注:部门名称在dept表中,而职员信息在emp表中,职员所在部门号的列名为deptno)CREATEORREPLACEFUNCTIONdept_name(emp_noNUMBER)RETURNVARCHAR2ASdept_noNUMBER(2);resultdept.dname%TYPE;BEGINSELECTdeptnoINTOdept_noFROMempWHEREempno=emp_no;SELECTdnameINTOresultFROMdeptWHEREdeptno=dept_no;RETURNresul
本文标题:oracle期末复习题及答案
链接地址:https://www.777doc.com/doc-6401468 .html