Oracle复习材料题及其答案解析.doc
-+郑州大学软件技术学院Oracle课程2009-2010学年第一学期期末试题(A)(适用专业:08信管、Java、.NET专业 考试时间:120分钟)单选:1 Oracle 10g中的g表示( C)。A 网络 B 数据库 C 网格计算 D 版本2 Oracle 10g的管理工具中,(B)是一个非常重要的、在服务器端和客户端都可以使用的工具。主要功能有:输入、运行和调试SQL语句、PL/SQL块。A OUI B SQL*PLUSC OEM D DBCA3 Oracle数据库的例程由(D)组成。A SGA和PGA B SGA和数据库C 数据库和后台进程 D SGA(系统全局区)和后台进程4 Oracle进程结构中完成更新控制文件与数据文件,使其同步并触发DBWR进程,使其将脏缓存块写入数据文件中的进程是(C)。A 用户进程 B 服务进程C 后台进程CKPT D 后台进程DBWR5 某用户想查看自己所能看到的表信息,那么应该看(D)视图。A v$tables B dba_tablesC all_tables D user_tables6 可以在Oracle服务器的安装目录的(C)文件中查看Oracle的各种端口的使用情况。A spfile.ora B initorcl.ora C portlist.ini D tnsname.ora 7 相对于Oracle数据库的作用,类似于Windows操作系统中注册表的作用。这类数据库文件是(D):A 参数文件 B 数据文件C 重做日志文件 D 控制文件8 Oracle的逻辑存储结构中由大到小的顺序是(B):A 表空间、区、段、块 B 表空间、段、区、块 C 表空间、块、段、区 D 段、区、表空间、块9 下列哪种表空间可以被设置为脱机状态( B)。A 系统表空间 B 用户表空间 C 临时表空间 D 撤销表空间 10 读下段程序:SQL> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS - - - - - - - 1 1 29 52428800 1 NO INACTIVE 2 1 30 52428800 1 NO CURRENT 3 1 28 52428800 1 NO INACTIVE SQL> alter system switch logfile;系统已更改。请问:当前使用的日志组和日志序列号分别是( C)。A 1和30 B 2和31 C 3 和31 D 4 和31 11 关闭数据库的各种方式中,会出现数据不一致的情况(即需要恢复数据库)的是( D )。A normal B transactional事务处理关闭 C immediate D abort 中止关闭12 Oracle网络配置需要配置服务器端和客户端,下列说法错误的是( C )。 A 服务器端配置的目的就是要配置监听程序的配置文件listener.ora。 B 客户端配置的目的就是要配置网络服务名的配置文件tnsnames.ora。 C listener.ora和tnsnames.ora不可以在同一台机器上。 D网络服务名的命名方式有多种,采用何种方式命名需要文件sqlnet.ora。13 已创建序列S1,若当前值为2,先执行3次S1.NEXTVAL,再执行3次S1.CURRVAL,最后S1的值是( C )。 A 3 B 4 C 5 D 614 Oracle的PL/SQL程序的异常处理部分,涉及的异常有多种,其中,必须用raise显示引发的异常是( C )。 A 预定义异常 B 非预定义异常 C 自定义异常 D 不确定 15 对于SQL游标的说法中,错误的是( D )。 A 它是Oracle中的隐式游标。 B 它也有%ISOPEN、%FOUND、%NOTFOUND、%ROWCOUNT四种属性。 C 不能对它显式的执行OPEN、FETCH、CLOSE语句。 D Oracle会为每一个DML语句创建一个隐式游标。填空:1 数据字典的所有者是sys。其数据字典表和视图都被保存在 system 表空间中。2 想实现控制文件多路复用的语句如下:alter system set control_files=C:control01.ctl,D:control02.ctl,E:control03.ctl scope=spfile;3 重做日志文件又被称为 事务 日志文件,是Oracle三类文件中最复杂的一类文件,是由 一条条重做记录 组成,记录、保存对数据库所做的修改(或事务)。4 在数据库的各种启动模式之间切换需要使用alter database 语句。由低级向高级,且不可以 逆转 。 5 PL/SQL程序包由包的和 包体 组成。6 角色 是相关权限的命名集合,使用的主要目的是简化权限管理。7 复杂视图一般是不可更新的,但可以在其上创建 Instead of 触发器来把DML操作最终完成。判断1 Oracle数据库中重做日志文件需要实现多路复用,而控制文件没有必要实现多路复用。()2 大文件表空间是为超大数据库而设计的,只能有一个数据文件组成,可以减少更新数据文件头部信息的操作。 ()3 一个合理的Oracle服务器系统的默认永久性表空间为system,默认临时表空间为temp。()4 修改表Department添加列Leader 数据类型varchar2(10)的语句是:Alter table Department add column Leader varchar2(10);()5 Oracle支持5种类型的约束:not null、unique、check、primary key、foreign key。()6 外部表的最大用途是通过访问驱动程序往Oracle数据库中装载OS文件中的数据。()7在表的某个列上创建标准B树索引,查询复合某条件的记录,结果有大量的记录返回,则这个索引得到最大程度的应用,能够明显提高速度。()8 在视图中并不保存任何数据,通过视图操作的数据仍然保存在表中。()9 方案同义词是被某个方案所拥有,所以如果一个方案用户想访问方案同义词,必须在自己方案中创建该方案同义词。()10 由DBA使用命令Create user new identified by new创建了用户new之后,new就可以登录服务器了。()简答:1 简述Oracle10g启动数据库的步骤。Shutdown(正常关闭数据库) 启动数据库到nomount状态(启动数据库实例,不装载数据库) 启动数据库到mount状态(打开控制文件) 启动数据库到open 状态(打开控制文件中描述的所有文件)2 简述索引的作用及创建索引注意事项。索引是对数据库表中的一个或者多个列的值进行排列的结构。可以利用索引访问数据库表中的特定信息。 创建索引的注意事项: 始终包含聚集索引 保证聚集索引唯一 保证聚集索引最小 覆盖索引 适量的索引设计题:所涉及的表结构:HR方案下的employees、regions、countries,表结构如下: 1 创建连接视图v_regions_countries,包含字段r_id,r_name,c_id,c_name。视图从regions表、countries表查询出region_id、region_name、country_id、country_name字段。(10分) Create view v_regions_countries As Select region_id、region_name、country_id、country_name From HR.regions, HR.countries Where r-id=c_id;r_name=c_name;2创建表空间DATA01,采用本地管理区尺寸为256k,其中数据文件的名称为data01.dbf,大小为12M;将表空间的名称修改为DATA02。(10分) Create tablespace DATA01 Datafile c:oracleproduct10.2.0oradataorcldata01.dbf size 12M Extent management local autollocate szie 256k; Alter tablespace DATA01 rename to DATA02;3 编写PL/SQL程序,计算1-100之间所有奇数之和。(10分)declare i integer; j integer; k integer; begin j:=2; k:=0; For i in 1.100 loop if i mod j<>0 then k:=k+i; end if; end loop; dbms_output.put_line(k); end; /郑州大学软件技术学院Oracle课程2009-2010学年第一学期期末试题(whl)(适用专业:08信管、Java、.NET专业 考试时间:120分钟)1 以下哪种不属于Oracle 10g产品系列(A)。 A Oracle 10g网格版 B Oralce 10g标准版C Oracle 10g企业版 D Oracle 10g 标准版12 Oracle 10g的管理工具中,(C)采用直观而方便的图形化界面GUI来操作数据库,如创建新用户和角色、权限分配、创建方案对象等。A OUI B SQL*PLUSC OEM D DBCA3 Oracle数据库服务器是由(D)组成。(oracle数据库用于存储和检索信息,是数据的集合,包括逻辑结构和物理结构。Oracle例程是指数据库服务器的内存和相关处理程序)A SGA和PGA B SGA和数据库C 数据库和后台进程 D 例程和数据库4 Oracle进程结构中完成将重做记录从重做日志高速缓冲区写入重做日志文件的进程是(C)。A 用户进程 B 服务进程C 后台进程LGWR D 后台进程DBWR5 某用户想查看自己所能看到的视图信息,那么应该看(D)视图。A v$views B dba_viewsC all_views D user_views6 可以在Oracle 10g服务器的安装目录下的(B)文件中查看Oracle10g服务器的各种参数的使用情况。A spfileorcl.ora B initorcl.ora C portlist.ini D tnsname.ora 7 记录了Oracle数据库的结构信息,是一个小的二进制文件,这类数据库文件是(D)。A 重做日志文件 B 数据文件C 口令文件 D 控制文件(数据库控制文件是一个很小的二进制文件,它维护着数据库的全局物理结构,用以支持数据库成功的启动和运行)8 Oracle的逻辑存储结构中由小到大的顺序是(A)。A 块、区、段、表空间 B 块、段、区、表空间C 区、块、段、表空间 D 段、区、表空间、块9 下列哪种表空间可以被设置为脱机状态( C)。A 系统表空间 B 撤销表空间 C用户表空间 D临时表空间 10 读下段程序:SQL> startup _( B )_ORACLE 例程已经启动。Total System Global Area 289406976 bytesFixed Size 1248576 bytesVariable Size 83886784 bytesDatabase Buffers 197132288 bytesRedo Buffers 7139328 bytes数据库装载完毕。SQL>请问这时数据库启动到的状态是:A nomount B mount C open D无法判断 11 关闭数据库的各种方式中,最省时又不会出现数据不一致的情况(即需要恢复数据库)的是( D )。A normal B transactional C immediate D abort 12 对显式游标操作正确的步骤顺序是( B )。A 声明、提取、打开、关闭 B 声明、打开、提取、关闭 C 提取、声明、打开、关闭 D 声明、打开、关闭、提取13 已创建序列S1,若当前值为2,先执行2次S1.NEXTVAL,再执行3次S1.CURRVAL,最后S1的值是( B)。 A 3 B 4 C 5 D 614 Oracle的PL/SQL程序的异常处理部分,涉及的异常有多种,其中,不需定义可以直接使用的异常是( A )。 A 预定义异常 B 非预定义异常 C 自定义异常 D 不确定 15下面不是常用的对象权限的是(B)。(常用的对象权限有:alter,delete,select,insert,update,index,reference,execute)A delete B grant C insert D update1 Oracle 10g的最大的特点是:面向 对象 。2 数据字典是Oracle数据库的核心组件,它由一系列只读的数据字典表和数据字典视图组成。3 想实现控制文件多路复用的语句如下:(注:control03.ctl还没不存在)可以使用语句alter system set control_files=C:control01.ctl,D:control02.ctl,E:control03.ctl scope= spfile ; 4 用户无论何时提交事务,后台进程LGWR采用 (4) 的方式把重做日志缓冲区中的内容写入到重做日志文件中。 5 在启动数据库时,如果其他启动方式都失败,DBA还可以选择使用startup force 来启动数据库。6 Oracle网络配置分为服务器端和客户机端,监听程序的配置是在 服务器端 。7 角色 是相关权限的命名集合,使用的主要目的是简化权限管理。8 给Hr用户解锁的语句是:alter user Hr account unlock 。9 PL/SQL程序包由包的说明部分和 包的主体部分 组成。10 复杂视图一般是不可更新的,但可以在其上创建 instead of 触发器来把DML操作最终完成。判断题:1 Oracle数据库中控制文件需要实现多路复用,而重做日志文件没有必要实现多路复用。 2 小文件表空间是为频繁的数据更新而设计的,可以有多个数据文件组成,有多个I/O通道,可以提高数据交换的速度。3 默认永久性表空间为system,默认临时表空间为temp。这是一个合理的Oracle服务器。4 修改表Department添加列Leader 数据类型varchar2(10)的语句是:Alter table Department add Leader varchar2(10);5 Oracle支持5种类型的约束:default、unique、check、primary key、foreign key。6 外部表的最大用途是通过访问驱动程序往Oracle数据库中装载OS文件中的数据。7 在表的某个列上创建标准B树索引,查询复合某条件的记录,结果有大量的记录返回,则这个索引得到最大程度的应用,能够明显提高速度。8 视图并不保存任何数据,它只是查看和管理表中数据的一种方法。9 公有同义词由一个特殊的用户组PUBLIC所拥有,所以,不论用户有没有被授予如何访问该公用同义词所对应的对象的对象权限,则都可以访问该公用同义词。10由DBA使用命令Create user new identified by new创建了用户new之后,new就可以登录服务器了。简答:1 看图说出图中存在的问题:日志组3日志组2日志组1成员成员成员1成员成员磁盘1 磁盘2 磁盘32 简述例程的组成部分。数据库例程由后台进程和系统全局区(SGA)组成设计题:所涉及的表结构:HR方案下的regions、countries,表结构如下:1 创建连接视图v_regions_countries,包含字段r_id,r_name,c_id,c_name。视图从regions表、countries表查询出region_id、region_name、country_id、country_name字段。(7分) Create view v_regions_countries As Select region_id、region_name、country_id、country_name From HR.regions, HR.countries Where r-id=c_id;r_name=c_name;2创建一个用户名为myuser,口令为myuser,默认表空间为users,配额为5m,默认使用的临时表空间为temp的用户,且不允许该用户使用system表空间。(7分)Create user myuser identified by myuser Default tablespace users size 5MDefault tempspace temp Ravoke sysdba from myuser;3 编写PL/SQL程序,计算1-100之间所有偶数之和。(8分)4 创建一个过程get_salary_by_empid,实现对表employees给定一个employee_id,通过函数可以把该雇员的工资信息返回出来,注意:要求有NO_DATA_FOUND异常处理,在异常处理部分输出没有找到该employee_id的雇员。(8分)Create procedure get_salary_empid(employee_id number) is v-name varchar2(10);v_sal numberi(7,2);Begin Create function f return sal isbeginSelect sal into v_sal from emp where empno=employee_id;Return v_sal ;End; Exception When NO_DATA_FOUND then Select ename into v_name from emp where empno !=employee_id;Dbms_output.put_line(v_name); End;郑州大学软件技术学院Oracle课程2009-2010学年第一学期期末试题(wj)(适用专业:08信管、Java、.NET专业 考试时间:120 分钟)1 Oracle 10g中的g表示(C )。A 网络 B 数据库 C 网格计算 D 版本2 Oracle管理数据库存储空间的最小数据存储单位是( A )。A 数据块 B 表空间 C 表 D 区间 3( A )函数返回大于或等于所给数字表达式的最小整数。 A ceil B abs (返回给定数字表达式的绝对值) C floor(返回小于或者等于所给数字表达式的最大整数) D round(返回数字表达式并且四舍五入为指定的长度或者精度)4 可以在Oracle服务器的安装目录$ORACLE_HOMEinstall下的(C)文件中查看Oracle的各种端口的使用情况。A spfile.ora B initorcl.ora C portlist.ini D tnsname.ora 5 下列哪种表空间可以被设置为脱机状态( B )。A 系统表空间 B 用户表空间 C 临时表空间 D 撤销表空间 6 下面不是常用的数据对象权限的是( B )。 A delete B revoke C insert D update7 由DBA使用命令Create user userman identified by userman创建了用户userman之后,以下描述正确的是( C )。 A 可以创建服务器会话 B 可以正常登陆服务器C 仅仅是在服务器上存在该用户名和相对应的信息,不具备任何操作能力 D 可以查询服务器上的数据信息8 标准的Oracle异常,指的是( A )。A 具有一个Oracle已定义的错误名称和错误编号的异常,可以在EXCEPTION部分利用Oracle自定义的错误名称对异常进行处理B 具有一个Oracle已定义的错误编号但没有错误名称的异常,使用时必须在DECLARE部分使用PRAGMA EXCEPTION_INIT指令将一个用户自定义的异常名与一个内部Oracle错误代码联系起来C 由程序员自定义、并且由程序员显式触发的异常,使用时须在DECLARE部分声明D 以上说法均不正确9 当Select Into 语句的返回多于一行时,将引发下列哪个异常( C )。A No_Data_Found B InValid_Number C Too_Many_Rows D Zero_Divide10 已创建序列S1,若当前值为2,先执行3次S1.NEXTVAL,再执行3次S1.CURRVAL,最后S1的值是( C )。 A 3 B 4 C 5 D 611 段是表空间中一种逻辑存储结构,以下( D)不是ORACLE数据库使用的段类型。A 索引段 B 临时段 C 回滚段 D代码段12 Oracle中标准的数据块大小应该由参数 ( B )决定。 A DB_SIZE B DB_BLOCK_SIZE C EXTENT_SIZE D SEGMENT_SI13在DOS命令行输入以下哪一命令,不能正确地连接SQL*Plus ( A)。A sqlplus sys/oracle B sqlplus system/oracleorclC sqlplus sys/o123 as sysdba D sqlplus system/o123 如果用户是sys时,需要加上【as sysdba】或【as sysoper】选项。14分析以下的SQL命令:SELECT图书.书号,图书.书名,借阅.读者号 FROM借阅RIGHT JOIN图书 ON图书.书号=借阅.书号如下描述正确的是(B)。A 将没借书的读者信息也查出来 B 只查出被借走的图书信息C 将没被借走的图书信息也查出来 D 只查出被借走图书的书号和书名15读下段程序:SQL> startup _( B)_ORACLE 例程已经启动。Total System Global Area 289406976 bytesFixed Size 1248576 bytesVariable Size 83886784 bytesDatabase Buffers 197132288 bytesRedo Buffers 7139328 bytes数据库装载完毕。SQL>请问这时数据库启动到的状态是:A nomount B mount C open D无法判断 1 执行强制启动数据库的命令是startup force 。2 在alter table中,可以使用 UNUSED关键字指定某列不可用。 3 控制文件是一个小的二进制文件,用来记录数据库的物理结构。4 Oracle数据库允许将被填充满的重做日志文件组保存到一个或多个离线的位置,这叫做 归档日志 。5 每个Oracle数据库都由3种类型的文件组成: 控制文件 、 日志文件 和 数据文件 。 6 通过命令行方式启动OracleDBConsoleorcl服务使用的命令为 net start OracleDBConsoleorcl 。7 PL/SQL程序包由包的说明部分和 包的主体部分 组成。8数据字典的所有者是 SYS 。判断:1 触发器的执行是由事件触发的,而普通存储过程是由命令调用执行的。()2 序列号是一个Oracle整数,最多可有38个数字。()3 在alter user语句中,使用account lock关键词锁定账户。()4 表空间中数据文件的大小之和就是表空间的存储容量。()5 Oracle中数据块的大小与操作系统无关。与操作系统数据块的大小有关6 SQL*Plus是运行在B/S模式下的工具,而iSQL*Plus是运行在C/S模式下的工具。()7 在数据类型声明为NUMBER(7,2)的列中可存储的最大数值为99999.99。8 当想要基于一个表达式排序行时,必须使用列别名。换句话说,不能在ORDER BY子句中使用表达式。()9 打开游标的语句是FETCH CURSOR。Open<游标名>10 运行在非归档模式下的数据库比归档模式下的数据库占用的系统资源少。1 请结合数据库实例启动时访问和打开的文件,详细描述数据库实例启动的过程。启动过程:nomount -> mount -> open 1.nomount阶段(即实例的启动) 注意: 此阶段不打开任何的控制文件及数据文件。 2.mount阶段 mount阶段完成的任务: a.启动实例并打开控制文件,将数据库与实例关联起来 b.利用参数文件中的说明,打开并锁定控制文件 c.读取控制文件以获取数据文件和重做日志文件的名字和状态信息,但不检查数据日志文件是否存在 这一步会读控制文件,如果这一步有一个控制文件损坏就无法启动 3.open阶段 mount阶段完成的任务: a.打开数据文件 b.打开联机日志文件 注意: a.在此期间,Oracle服务器将校验所偶的数据文件和联机日志文件能否打开并对数据库作一致性检查 b.如果出现一致性错误,SMON进程将启动实例恢复 c.如果任一数据文件或联机日志文件丢失,Oracle服务器将报错2 请简要说明数据高速缓存的工作原理。设计题: 所涉及的表结构如下:学生表student(学号,姓名,性别,民族)成绩表grade(学号,课程号,成绩)课程表course(课程号,课程名)1写出SQL命令,查询出同时选修了课程号为“101”和“102”课程的学生信息。(5分)2假定已创建好视图ex_view,显示学生的姓名、课程名和成绩,并按课程名和成绩均降序排序,现要求修改该视图,增加学生的学号信息。(5分)3创建区间尺寸为256k的本地管理表空间DATA01,其中数据文件的名称为data01.dbf,大小为12M;将表空间的名称修改为DATA02。(5分)4编写一个函数getxh,实现将表student中根据指定的学生学号(例如0001)返回该学生的姓名,创建完成后,进行测试。(7分)5 编写一个触发器mytrigger,它的作用是当表student中“学号”列的值发生变化时,自动更新表grade中的“学号”列。如:将表student的学号从003更改为010,查看grade表的相关变化。(8分)郑州大学软件技术学院Oracle课程2009-2010学年第一学期期末试题(wj)(适用专业:08信管、Java、.NET专业 考试时间:120 分钟)1 保存初始化参数的服务器参数文件是(A)。A init<sid>.ora B pfile<sid>.ora C spfile<sid>.ora D sparameter<sid>.ora2 以下哪种不属于Oracle 10g产品系列(A)。 A Oracle 10g网格版 B Oralce 10g标准版C Oracle 10g企业版 D Oracle 10g 标准版13 在DOS命令行输入以下哪一命令,不能正确地连接SQL*Plus ( A )。A sqlplus sys/oracle B sqlplus system/oracleorclC sqlplus sys/o123 as sysdba D sqlplus system/o123 4 标准的Oracle异常,指的是( A )。A 具有一个Oracle已定义的错误名称和错误编号的异常,可以在EXCEPTION部分利用Oracle自定义的错误名称对异常进行处理B 具有一个Oracle已定义的错误编号但没有错误名称的异常,使用时必须在DECLARE部分使用PRAGMA EXCEPTION_INIT指令将一个用户自定义的异常名与一个内部Oracle错误代码联系起来C 由程序员自定义、并且由程序员显式触发的异常,使用时须在DECLARE部分声明D 以上说法均不正确5 Oracle分配磁盘空间的最小单位是( D )。A 数据块 B 表空间 C 表 D 区间 6 完全卸载Oracle 10g时,需要进行的第一步操作是 ( A )。A 停止所有的Oracle服务 B 启动Oracle的卸载向导 C 删除磁盘上的Oracle文件 D 删除数据库Orcl7 关于视图的说法正确的是(D )。A 视图其实就是表B 视图与表一样,也占用系统空间C 视图不用记录在数据字典中D 视图实际上只是在需要时,执行它所代表的SQL语句8 若用户要连接数据库,则该用户必须拥有的权限是( C )。A create table B create index C create session D create user9 用于显示所有表空间描述信息的视图是( B )。A v$database B v$tablespaces C user$tablespaces D v$database10 段是表空间中一种逻辑存储结构,以下( D )不是ORACLE数据库使用的段类型。A 索引段 B 临时段 C 回滚段 D代码段11分析以下的SQL命令:SELECT图书.书号,图书.书名,借阅.读者号 FROM借阅RIGHT JOIN图书 ON图书.书号=借阅.书号如下描述正确的是( )。A 将没借书的读者信息也查出来 B 只查出被借走的图书信息C 将没被借走的图书信息也查出来 D 只查出被借走图书的书号和书名12 如果使用Oracle服务器端的网络配置工具Net Manager配置了一个网络服务名StuClient,则可以在下列(