1、可编辑版oracle数据库期末考试试题及答案A1、以下 内存区不属于SGA。APGA B日志缓冲区 C数据缓冲区 D共享池D2、 模式存储数据库中数据字典的表和视图。ADBA BSCOTT CSYSTEM DSYSC3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将 表空间分配给用户作为默认表空间。AHR BSCOTT CSYSTEM DSYSA4、 服务监听并按受来自客户端应用程序的连接请求。AOracleHOME_NAMETNSListenerBOracleServiceSIDCOracleHOME_NAMEAgentDOracleHOM
2、E_NAMEHTTPServerB5、 函数通常用来计算累计排名、移动平均数和报表聚合等。A汇总 B分析 C分组 D单行B6、 SQL语句将为计算列SAL*12生成别名Annual SalaryASELECT ename,sal*12 Annual Salary FROM emp;BSELECT ename,sal*12 Annual Salary FROM emp;CSELECT ename,sal*12 AS Annual Salary FROM emp;DSELECT ename,sal*12 AS INITCAP FROM emp;B7、锁用于提供。A改进的性能 B数据的完整性和一致性
3、 C可用性和易于维护D用户安全C8、锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。A行共享 B行排他 C共享 D排他B9、带有子句的SELECT语句可以在表的一行或多行上放置排他锁。AFOR INSERT BFOR UPDATE CFOR DELETE DFOR REFRESHC10、使用命令可以在已分区表的第一个分区之前添加新分区。A添加分区 B截断分区C拆分分区 D不能在第一个分区前添加分区C11、分区允许用户明确地控制无序行到分区的映射。A散列 B范围 C列表 D复合C12、可以使用 伪列来访问序列。ACURRVAL和NEXTVAL BNEXTVAL和PRE
4、VALCCACHE和NOCACHE DMAXVALUE和MINVALUEA13、带有错误的视图可使用 选项来创建。AFORCEBWITH CHECK OPTIONCCREATE VIEW WITH ERRORDCREATE ERROR VIEWB14、在联接视图中,当 时,该基表被称为键保留表。A基表的主键不是结果集的主键B基表的主键是结果集的主键C基表的主键是结果集的外键D基表的主键不是结果集的外键D15、在列的取值重复率比较高的列上,适合创建 索引。A标准 B唯一 C分区 D位图C16、要以自身的模式创建私有同义词,用户必须拥有 系统权限ACREATE PRIVATE SYNONYMBCR
5、EATE PUBLIC SYNONYMCCREATE SYNONYMDCREATE ANY SYNONYMD17、PL/SQL块中不能直接使用的SQL命令是 。ASELECT BINSERTCUPDATE DDROPB18、以零作除数时会引发 异常。AVALUE_ERROR BZERO_DIVIDECSTORAGE_ERROR DSELF_IS_NULLA19、要更新游标结果集中的当前行,应使用 子句。AWHERE CURRENT OF BFOR UPDATECFOR DELETE DFOR MODIFYB20、用于处理得到单行查询结果的游标为 。A循环游标 B隐式游标CREF游标 D显式游标
6、C21、公用的子程序和常量在 中声明。A过程 B游标C包规范 D包主体C22、数据字典视图 包含存储过程的代码文本AUSER_OBJECTS BUSER_TEXTCUSER_SOURCE DUSER_DESCC23、以下不属于命名的PL/SQL块的是 。A程序包 B过程C游标 D函数A24、 包用于显示PL/SQL块和存储过程中的调试信息。ADBMS_OUTPUTBDBMS_STANDARDCDBMS_INPUTDDBMS_SESSIONA25、Oracle的内置程序包由 用户所有。ASYS BSYSTEMCSCOTT DPUBLICA26、 触发器允许触发操作中的语句访问行的列值。A行级 B
7、语句级C模式 D数据库级A27、在非归档日志方式下操作的数据库禁用了 。A归档日志 B联机日志C日志写入程序D日志文件A28、以下哪种备份方式需要在完全关闭数据库进行 。A无归档日志模式下的数据库备份B归档日志模式下的数据库备份C使用导出实用程序进行逻辑备份D以上都不对B29、 方式的导出会从指定的表中导出所有数据。A分区 B表C全部数据库 D表空间C30、 参数用于确定是否要导入整个导出文件。ACONSTRAINTS BTABLESCFULL DFILE二、填空题每空2分,共40分1、假设已在某远程客户端完成网络服务名配置,服务名为aptech,请写出用户MARTIN用户口令martinpa
8、ss连接到服务器的命令: Connect martin/martinpassaptech2、SYS用户以管理员身份登录后,要授予用户MARTIN可以对SCOTT用户的EMP表进行查询的权限,请写出授权命令:假设MARTIN用户已存在Grant select on scott.emp to martin创建表employee的副本,但不包含表中的记录:CREATE TABLE employee_copy AS select * from employee where 1=24、查询itemfile表中itemrate列的信息,要求将数值转换为字符串,并使用当前货币符号作为前缀:SELECT to
9、_char FROM itemfile;5、查itemfile表中itemdesc、re_level列的信息,要求re_level为NULL时显示为0SELECT itemdesc, NVL FROM itemfile;6、完成以下PL/SQL块,功能是:显示2到50的25个偶数。BEGINFOR even_number IN 1.25LOOP DBMS_OUTPUT.PUT_LINE;END LOOPEND;完成以下PL/SQL块,功能是:接受职员编号并检索职员姓名。将职员姓名存储在变量empname中,如果代码引发VALUE_ERROR异常,则向用户显示错误消息。DELCARE empna
10、me employee.ename%TYPE; eno employee.empno%TYPE;BEGIN eno:=&employee_number; select ename into empname from employee where empno=eno DBMS_OUTPUT.PUT_LINE;exception WHEN VALUE_ERROR THEN DBMS_OUTPUT.PUT_LINE END;8、完成以下PL/SQL块,功能是:使用游标,显示所有单价低于250元的玩具的单价。DECLARE my_toy_price toys.toyprice%TYPE; CURSOR
11、 toy_cur IS SELECT toyprice FROM toys WHERE toyprice250;BEGIN Open toy_cur LOOP Fetch toy_cur into my_toy_price EXIT WHEN toy_cur%NOTFOUND; DBMS_OUTPUT.PUT_LINE ; END LOOP; CLOSE toy_cur;END;9、完成以下PL/SQL块,功能是:使用游标显示销售报表。如果目标销售额tsales大于实际销售额,则显示消息需提高销售额。如果tsales等于asales,则显示消息已达到销售额,否则显示消息销售业绩出色DECLAR
12、E CURSOR sales_cur IS SELECT * FROM salesdetails;BEGIN For sales_res in sales_cur loop IF sales_rec.tsales sales_rec.asales THEN DBMS_OUTPUT.PUT_LINE; ELSE IF sales_res.tsales=sales_res.asales THEN DBMS_OUTPUT.PUT_LINE; ELSE DBMS_OUTPUT.PUT_LINE; END IF; END IF; END LOOP;END;10、完成以下PL/SQL块,功能是:创建一个交
13、换两数的过程。CREATE OR REPLACE PROCEDUREswap IS v_temp NUMBER;BEGIN v_temp := p1; p1 := p2; p2 := v_temp;END;11、完成以下PL/SQL块,功能是:创建一个函数dept_name,其功能是接受职员编号后返回职员所在部门名称。注:部门名称在dept表中,而职员信息在emp表中,职员所在部门号的列名为deptnoCREATE OR REPLACE FUNCTION dept_name RETURN VARCHAR2 AS dept_no NUMBER; result dept.dname%TYPE;BE
14、GIN Selecet deptno into dept_no from emp where empno=emp_no SELECT dname INTO result FROM dept WHERE deptno = dept_no; Return resultEXCEPTION WHEN OTHERS THEN RETURN NULL;END;12、要执行pack_me包中的order_proc过程有一个输入参数,假设参数值为002,可以输入以下命令:EXECUTE pack_ma.order-proc13、完成以下PL/SQL块的功能是:创建一个触发器biu_job_emp,无论用户插入
15、记录,还是修改EMP表的job列,都将用户指定的job列的值转换成大写。CREATE OR REPLACE TRIGGER biu_job_empBefore insert or update of job on empFor each rowBEGIN :NEW.job :=upperEND;答案1A6B11C16C21C26A2D7B12C17D22C27A3C8C13A18B23C28A4A9B14B19A24A29B5B10C15D20B25A30C二、填空题每空2分,共40分1Connect martin/martinpassaptech2Grant select on scott.
16、emp to martin3Select * from employee where 1=24To_char5NVL6even_number71.258SELECT ename INTO empname FROM employee WHERE empno=eno;9EXCEPTION10OPEN toy_cur11FETCH toy_cur INTO my_toy_price;12FOR sales_rec IN sales_cur LOOP13sales_rec.tsales = sales_rec.asales14IN OUT15SELECT deptno INTO dept_no FROM emp WHERE empno=emp_no;16RETURN result;17pack_ma.order_proc00218BEFORE INSERT OR UPDATE OF job ON emp19FOR EACH ROW20UPPER9 / 9