1、一、判断题P2P 架构是 Oracle 的一种应用模式。 ( A )Oracle 用户与服务器要通过网络建立数据库会话必须先与监听器建立连接。 ( A )scott 用户默认情况下是锁定的。 ( A)Oracle 服务器修改了 IP 地址后,服务器会自动调整配置文件,因而不需要手工修改。( B )Oracle 服务器修改了 IP 地址后,必须同时修改监听器配置文件 listener.ora 和客户端配置文件tnsnames.ora,方可使用 sqlplus 通过 TCP/IP 协议连接服务器。 ( A )sqlplus 命令如果不指定角色,则默认为 sysdba 角色。 ( B )sqlplu
2、s 命令如果不指定角色,则默认为 normal 角色。 ( A )sys 用户必须以 sysdba 角色登录。 ( A )system 用户必须以 sysdba 角色登录。 ( B )sys 用户可以以 normal 角色登录。 ( B )system 用户可以以 normal 角色登录。 ( B )一个表空间只能对应一个数据文件。 ( B )一个数据文件只能对应一个表空间。 ( A )Oracle 的逻辑块与操作系统的物理块是一样的。 ( A )实例是由一系列内存结构与后台进程组成的。 ( A )ALL_INDEX 是一个静态数据字典视图,通过它可以查询系统所有索引信息。 ( B )ALL_
3、INDEX 是一个动态数据字典视图,通过它可以查询系统所有索引信息。 ( B )ALL_INDEX 是一个静态数据字典视图,通过它可以查询当前用户所拥有的索引信息。( B )ALL_INDEX 是一个动态数据字典视图,通过它可以查询当前用户所拥有的索引信息。( B )ALL_INDEX 是一个静态数据字典视图,通过它可以查询当前用户所能访问的索引信息。( A )ALL_INDEX 是一个动态数据字典视图,通过它可以查询当前用户所能访问的索引信息。( B )DBA_INDEX 是一个静态数据字典视图,通过它可以查询系统所有索引信息。 ( B )DBA_INDEX 是一个动态数据字典视图,通过它可
4、以查询系统所有索引信息。 ( B )DBA_INDEX 是一个静态数据字典视图,通过它可以查询 DBA 所拥有的索引信息。 ( A )DBA_INDEX 是一个动态数据字典视图,通过它可以查询 DBA 所拥有的索引信息。 ( B )USER_INDEX 是一个静态数据字典视图,通过它可以查询登录用户所拥有的索引信息。( A ) USER_INDEX 是一个动态数据字典视图,通过它可以查询登录用户所拥有的索引信息。( B )USER_INDEX 是一个静态数据字典视图,通过它可以查询登录用户所能访问的索引信息。( B )USER_INDEX 是一个动态数据字典视图,通过它可以查询登录用户所能访问
5、的索引信息。( B )Oracle 数据库服务器启动过程按顺序分为 nomount,mount,open 三个阶段。 ( A )Oracle 数据库服务器启动过程按顺序分为 open,nomount,mount 三个阶段。 ( B )使用 shutdown immediate 命令关闭数据库要比 shutdown abort 命令快。 ( B )使用 shutdown immediate 命令关闭数据库要比 shutdown abort 命令慢。 ( A )使用 shutdown immediate 命令关闭数据库会导致数据不一致,而 shutdown abort 命令则不会导致数据不一致。
6、( B )使用 shutdown immediate 命令关闭数据库不会导致数据不一致,而 shutdown abort 命令则会导致数据不一致。 ( A )PGA 远比 SGA 复杂,也是实例的主要内存结构 ( B )INSERT、UPDATE 和 DELETE 等修改数据的操作不需要通过内存结构,直接写入磁盘。( B )数据的修改操作首先进 SGA 的脏缓存块,然后由 DBWR 统一写入磁盘。 ( A )重做日志不需要通过内存结构,直接写入磁盘。 ( B )重做日志首先存入日志缓冲区,然后由 LGWR 写入磁盘。 ( A )重做日志首先存入日志缓冲区,然后由 DBWR 写入磁盘。 ( B
7、)数据高速缓冲区的目标只是为了提高数据读取的效率。 ( B )数据高速缓冲区的目标不仅提高数据读取的效率,而且也提高写入效率。 ( A )DBWR 写入数据更新结果之前,必须由 LGWR 先写入相应的重做日志。 ( A )LGWR 写入重做日志之前,必须由 DBWR 先写入相应的数据更新结果。 ( B )清除非正常中断的用户进程留下的孤儿会话是由系统监控进程完成。 ( B )清除非正常中断的用户进程留下的孤儿会话是由进程监控进程完成。 ( A )逻辑备份比物理备份灵活,且备份的副本可移植性好。 ( B )角色是一组用户的集合。 ( B )角色是一组权限的集合。 ( A )Oracle 的权限分
8、为系统权限与对象权限。 ( A )对 emp 表的 update 权限属于系统权限。 ( A )对 emp 表的 update 权限属于对象权限。 ( B )CREATE SESSION 是一个系统权限。 ( B )CREATE SESSION 是一个对象权限。 ( A )CONNECT 是一个系统权限。 ( A )CONNECT 是一个对象权限。 ( B )CONNECT 是一个系统预置角色。 ( A )Drop user 语句将会删除用户创建的表。 ( A)Drop user 语句不会删除用户创建的表。 ( B )Oracle 支持数据库身份认证、外部身份认证和全局身份认证三种身份认证方式
9、。 ( A )学生信息表中,学号字段适合创建 B-树索引。 ( A )学生信息表中,学号字段适合创建位图索引。 ( B )学生信息表中,系别字段适合创建 B-树索引。 ( B )学生信息表中,系别字段适合创建位图索引。 ( A )索引化表在存储结构上与普通表没有区别。 ( B )索引化表在存储结构上与普通表有本质区别。 ( A )簇可以提高多表连接查询效率。 ( A )分区表是将巨型表分成若干独立部分进行存储和管理。 ( A )分区表是将巨型表数据存储在不同的区中。 ( B )Oracle 物理存储结构是指其各种文件在操作系统中如何存储,与具体的操作系统有关。( A)Oracle 物理存储结构
10、是指其各种文件在操作系统中如何存储,与具体的操作系统无关。( B)逻辑存储结构主要描述 Oracle 数据库内部数据的组织和管理方式,与操作系统没有关系。( A )逻辑存储结构主要描述 Oracle 数据库内部数据的组织和管理方式,与操作系统有关系。( B )重做日志文件存储重做日志记录,归档重做日志文件则不是。 ( B )重做日志文件和归档重做日志文件都是存储重做日志记录。 ( A)控制文件由于存储数据库的物理结构,所以在数据库运行过程中不会发生变化。 ( B )控制文件存储数据库的物理结构,但在数据库运行过程中可能会发生变化。 ( A )一、PL/SQL 编程题1、学生选课系统数据库结构如
11、下:学生信息表 student字段名称 数据类型 约束 描述sno number(6) 主键 学号sname varchar(50) NOT NULL 姓名ssex char(2) 只能取“M”与“F ” 性别sage number(3) 大于 15,小于 40 年龄clsname varchar(50) 班级名称dept varchar(500) 所在系课程信息表 course字段名称 数据类型 约束 描述cno number(6) 主键 课程编号cname varchar(500) UNIQUE 课程名称选课信息表 SC字段名称 数据类型 约束 描述sno number(6) 外键,参考
12、student.sno 学号cno number(6) 外键,参考 o 课程编号grade number(3, 2) 成绩SC 表主键为 sno 与 cno。按要求编写 PL/SQL 程序:(1)编写一函数,输入参数为课程号与班号,输出为该班选该课程的学生的平均成绩;(2)编写一存储过程,输入为课程号,调用(1)编写的函数,输出所有有选该课程的班级的学生平均成绩。2、有公司员工工资信息数据库如下:员工信息表字段名称 数据类型 约束 描述empno number(6) 主键 员工编号ename varchar(50) NOT NULL 姓名job varchar(50) 职位hiredate d
13、ate 雇佣时间sal number(6) 工资deptno integer 所在部门部门信息表字段名称 数据类型 约束 描述deptno integer 主键 部门编号dname varchar(50) NOT NULL 部门名称编写 PL/SQL 程序完成如下功能 编写一个函数,输入为部门号,计算该部门的平均工资并返回; 调用该函数,编写存储过程计算所有部门的平均工资,并按以下规则增加部门员工工资:如果部门平均工资低于 2000,则增加 500;如果部门平均工资在 2000 至 4000 之间,则增加 300;如果部门平均工资高于 4000,则增加 200。3、创建一学籍成绩信息数据库,结
14、构如下:学生信息表 student字段名称 数据类型 约束 描述sno number(6) 主键 学号sname varchar(50) NOT NULL 姓名ssex char(2) 只能取“M”与“F ” 性别sage number(3) 大于 15,小于 40 年龄clsname varchar(50) 班级名称dept varchar(500) 所在系课程信息表 course字段名称 数据类型 约束 描述cno number(6) 主键 课程编号cname varchar(500) UNIQUE 课程名称选课信息表 SC字段名称 数据类型 约束 描述sno number(6) 外键,参
15、考 student.sno 学号cno number(6) 外键,参考 o 课程编号grade number(3, 2) 成绩SC 表主键为 sno 与 cno。针对该数据库编写存储过程完成如下功能: 输入参数为班级名称; 输出该班有不及格科目的学生姓名(所有课程均为百分制,60 分及格); 输出该班各科平均成绩。4、某职工工资管理系统数据库主要关系如下:职工信息关系:Person(perID, perName, dept)注:perName 为职工姓名,dept 为所属部门工资项目关系:IncomeItem(itemID, itemName)注:itemName 工资项目名称,例如基本工资、
16、岗位津贴、住房补贴等,这里不考虑扣款项,即工资项目中全为下发项。职工收入明细关系:PersonIncome(perID, itemID, value)注:value 为职工 perID 的工资项 itemID 的收入值,为一浮点型。我们只考虑一个月的工资收入情况。问题:请编写两个存储过程分别完成如下功能:以部门为参数,统计该部门的所有职工的平均总工资 1以一个数值为参数,统计总工资收入低于该值的人数和高于该值的人数 25、某小学图书管理系统数据库中,有关系如下:读者关系:Reader(Rno, Rname, Rtype)说明:Rno 读者编号, Rname 读者姓名, Rtype 读者类型,
17、1为教师,2为学生图书关系:Book(Bno, Bname)说明:Bno 图书编号, Bname 图书名称借阅关系:RB(Rno, Bno, Btime)说明:Rno 读者编号, Bno 图书编号, Btime 借阅时间Rno 为外键,参照 Reader.Rno, Bno 为外键,参照 Book.Bno问题:请编写一个存储过程完成如下功能:以读者编号为参数,如果该读者是教师,则查询其在借图书中最早借阅的图书借阅时间,如果该读者是学生,则统计其借阅图书数量。6、某科研信息管理系统有如下数据表:人员信息表 person字段名称 数据类型 约束 描述pno number(6) 主键 人员编号pnam
18、e varchar(50) NOT NULL 姓名psex char(2) 只能取“M”与“F ” 性别page number(3) 年龄deptno integer 所在学院/部门部门信息表 dept字段名称 数据类型 约束 描述deptno integer 主键 部门编号dname varchar(100) UNIQUE 部门名称科研成果信息表 production字段名称 数据类型 约束 描述pno number(6) 主键 人员编号title varchar(500) NOT NULL,UNIQUE 成果标题type tinyint 1 代表论文,2 代表专著,3 代表专利发明,4 代
19、表其他成果类型pdate datetime 取得日期编写 PL/SQL 程序完成以下要求:(1)编写存储过程统计 2011 年部门名称为“信息学院”的所有人员发表的论文数、专著数及取得的专利发明数,并输出;(2)编写存储过程按部门输出每个部门 2011 年度人均发表的论文数。7、某考试报名系统有数据表如下:考生信息表 student字段名称 数据类型 约束 描述sno number(6) 主键 准考证号sname varchar(50) NOT NULL 姓名ssex char(2) 只能取“M”与“F ” 性别sage number(3) 年龄dept varchar(200) 所在单位/学
20、校名称报名信息表 enroll字段名称 数据类型 约束 描述sno number(6) 主键 准考证号dept_1 varchar(200) 第一志愿报考学校special_1 varchar(200) 第一志愿报考专业dept_2 varchar(200) 第二志愿报考学校special_2 varchar(200) 第二志愿报考专业dept_3 varchar(200) 第三志愿报考学校special_3 varchar(200) 第三志愿报考专业考试课程信息表 course字段名称 数据类型 约束 描述cno number(6) 主键 课程编号cname varchar(500) UNI
21、QUE 课程名称考试成绩信息表 grade字段名称 数据类型 约束 描述sno number(6) 外键,参考 student.sno 准考证号cno number(6) 外键,参考 o 课程编号grade number(3, 2) 成绩编写 PL/SQL 程序完成如下要求:(1)编写一个存储过程,查询单位名称为“济南大学”的各个专业的报名人数,并输出;(2)济南大学“计算机应用技术”专业 2011 年录取分数为 320 分,编写一个存储过程,查询所有上线的考生,并输出他们的准考证号与姓名。8、学生上机管理系统中有如下数据表:学生信息表 student字段名称 数据类型 约束 描述sno nu
22、mber(6) 主键 学号sname varchar(50) NOT NULL 姓名ssex char(2) 只能取“M”与“F ” 性别sage number(3) 大于 15,小于 40 年龄clsname varchar(50) 班级名称教师信息表 teacher字段名称 数据类型 约束 描述tno number(6) 主键 人员编号tname varchar(50) NOT NULL 姓名deptno integer 所在教研组上机信息表 compclass字段名称 数据类型 约束 描述sno number(6) 学号tno varchar(500) 上课教师编号s_time time
23、 上机时间e_time time 下机时间编写 PL/SQL 程序完成以下要求:(1)编写一个存储过程,输入为一个由年份与月份组成的字符串,例如(“2011-10”),统计该月各班学生平均上机时长;(2)编写一个存储过程,输入为一个由年份与月份组成的字符串,例如(“2011-10”),统计该月“信息技术”教研组教师上课上机占所有上机时间的比例;9、一网上商城有如下数据表:用户信息表 user字段名称 数据类型 约束 描述uid number(6) 主键 用户编号uname varchar(50) NOT NULL, UNIQUE 用户名password varchar(50) 密码商品信息表
24、product字段名称 数据类型 约束 描述pid integer 主键 商品 idpno varchar(20) NOT NULL, UNIQUE 商品编号pname varchar(200) NOT NULL 名称price number(6, 2) 价格订单信息表 order字段名称 数据类型 约束 描述oid char(20) 主键 订单 id(编号)uid number(6) NOT NULL 用户编号otime time NOT NULL 下单时间status integer 0 表示未付款,1 表示已付款,2 表示已发货,3表示已确认收货,4 表示订单取消,5 表示退货订单状态订
25、单明细表 detail字段名称 数据类型 约束 描述oid char(20) 外键,参考 order.oid 订单 idpid integer 外键,参考 product.pid 商品 idnumber number(6, 2) 购买数量编写 PL/SQL 程序完成以下要求:(1)编写一个函数,输入为用户名,输出为该用户的订购的商品总价;(2)编写一个存储过程,统计 2011 年 10 月该商城各种商品的销量(订单状态必须为已确认收货)。10、一网上商城有如下数据表:用户信息表 user字段名称 数据类型 约束 描述uid number(6) 主键 用户编号uname varchar(50)
26、NOT NULL, UNIQUE 用户名password varchar(50) 密码商品信息表 product字段名称 数据类型 约束 描述pid integer 主键 商品 idpno varchar(20) NOT NULL, UNIQUE 商品编号pname varchar(200) NOT NULL 名称price number(6, 2) 价格订单信息表 order字段名称 数据类型 约束 描述oid char(20) 主键 订单 id(编号)uid number(6) NOT NULL 用户编号otime time NOT NULL 下单时间status integer 0 表示
27、未付款,1 表示已付款,2 表示已发货,3表示已确认收货,4 表示订单取消,5 表示退货订单状态订单明细表 detail字段名称 数据类型 约束 描述oid char(20) 外键,参考 order.oid 订单 idpid integer 外键,参考 product.pid 商品 idnumber number(6, 2) 购买数量编写 PL/SQL 程序完成以下要求:(1)编写一个函数,输入为商品名称与月份字符串(例如2011-10),输出为该商品该月的退货数量;(2)编写一个存储过程,调用(1)中的函数,统计 2011 年度该商城各种商品的退货数量。二、综合解答题实例与工作模式1、请描述
28、 Oracle 实例的结构与组成,并说明实例的各主要内存结构与系统后台进程的功能与工作原理。2、用户 a 与 b 同时进行一个数据库服务器的会话,a 与 b 都有 test 表的完全访问权限,a 向test 表中插入了 3 条记录,插入之后 b 对 test 表进行查询的时候并未查询到这 3 条新纪录,试结合数据高速缓冲区的工作原理分析这一现象的原因。3、用户 a 与 b 同时进行一个数据库服务器的会话,a 与 b 都有 test 表的查询权限,a 对 test 表先进行全表查询,耗费 3 秒钟,b 接着又对 test 表进行全表查询,所耗费的时间却为 0.5 秒。试结合数据高速缓冲区的工作原
29、理分析这一现象的原因。4、某 Oracle 服务器中,数据高速缓冲区的大小配置为 64M,对一个表 test 的全表查询测试,其结果为 2 秒,将高速缓冲区的大小改为 256M,再进行相同测试,结果为 4 秒,将高速缓冲区的大小改为 16M,再进行相同测试,结果为 5 秒。试分析这一现象的原因。5、后台进程 LGWR 与 ARCH 的功能是什么?它们有什么联系,试述它们的工作流程。6、用户 a 往 test 表中插入 10 条记录时,数据库服务器发生故障,检查时发现日志文件中有这 10 条记录插入的操作记录,而数据文件中没有这 10 条记录,试根据 DBWR 与 LGWR 后台进程的工作原理分
30、析这一现象的原因。7、PMON 进程是什么进程?有什么作用?程序监视进程,在实例启动时执行实例恢复,并负责清理不再使用的临时段。8、SMON 进程是什么进程?有什么作用?系统监视进程,在用户进程出现故障时就行恢复,负责清理村内区域和释放该进程所使用的资源。SMON 是系统监视器(System Monitor)的缩写。如果 Oracle 实例失败,则在 SGA 中的任何没有写到磁盘中的数据都会丢失。9、某银行的客户业务系统,平均每秒钟有 1000 个用户进行业务操作,且操作的平均时长只有 5 分钟,数据库为 Oracle,试根据 Oracle 数据库服务器的工作模式分析其应该采用何种工作模式,并
31、详细说明分析理由。10、某银行的业务分析系统,面向银行的管理与分析人员,这些用户人数较少,平均每天 10人在线。用户使用该系统对银行业务数据进行分析,通过对银行业务数据的大规模分析、挖掘,做出统计分析报表,为银行决策层决策提供依据。这些用户操作的特点是在线时间长,执行的数据库操作多且持续时间长。数据库系统为 Oracle,试根据 Oracle 数据库服务器的工作模式原理分析其应该采用何种工作模式,并详细说明分析理由。11、某电信公司的用户业务系统,平均每秒钟有 1000 个用户进行业务操作,且操作的平均时长只有 5 分钟,数据库为 Oracle,试根据 Oracle 数据库服务器的工作模式分析
32、其应该采用何种工作模式,并详细说明分析理由。12、某电信公司的业务分析系统,面向公司的管理与分析人员,这些用户人数较少,平均每天 10 人在线。用户使用该系统对公司客户业务数据进行分析,通过对公司客户业务数据的大规模分析、挖掘,做出统计分析报表,为公司决策层决策提供依据。这些用户操作的特点是在线时间长,执行的数据库操作多且持续时间长。数据库系统为 Oracle,试根据 Oracle 数据库服务器的工作模式原理分析其应该采用何种工作模式,并详细说明分析理由。13、请详细说明共享服务器工作模式与专用服务器工作模式的工作原理,它们的区别以及各自适用的应用情况。14、某 Oracle 数据库为共享服务
33、器工作模式,用户 A 在某一时刻提交了一条查询语句,该查询语句在服务器上最终由服务器进程 1 进行处理。过 10 秒钟以后又执行了另一条查询语句,整个过程用户进行的是同一次数据库会话。请问第二条查询语句是由服务器进程 1 进行处理吗?根据共享服务器工作模式详细分析说明原因。15、某 Oracle 数据库为专用服务器工作模式,用户 A 在某一时刻提交了一条查询语句,该查询语句在服务器上最终由服务器进程 1 进行处理。过 10 秒钟以后又执行了另一条查询语句,整个过程用户进行的是同一次数据库会话。请问第二条查询语句是由服务器进程 1 进行处理吗?根据专用服务器工作模式详细分析说明原因。备份与恢复1
34、6、一 Oralce 服务器中的测试用户 scott 处于初始状态,即账户已被锁定,且密码已过期。另有一个用户 user1,该用户创建了两个表 tab1 与 tab2。现要求以 scott 用户对 scott 用户的所有数据库对象及其数据进行备份,并对 user1 的 tab1 与 tab2 表与数据进行备份,请详细写出执行过程中每一条 SQL 语句与 SQL PLUS 命令(提示:使用逻辑备份工具 expdp)。17、详细说明 Oracle 数据库的冷备份与恢复过程。18、某数据库中有一 user_ts1 表空间,现对其进行热备份,请给出详细备份过程与执行的语句(文件的拷贝可以用文字说明)。数据库安全性19、某 Oralce 服务器中的测试用户 scott 处于初始状态,即账户已被锁定,且密码已过期。另有一个用户 user1,该用户创建了两个表 tab1 与 tab2。现要求以 scott 用户对 tab1 表的 col1 列建立唯一性索引,索引名称为 idx1,并将 tab2 的查询权限赋予 scott 用户。请详细写出执行过程中每一条 SQL 语句与 SQL PLUS 命令(提示:为表建立索引的权限为 INDEX)。数据库对象20、索引化表是什么?与普通表有什么区别?请详细说明。21、分区表是什么?与普通表有什么区别?请详细说明。