




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2009 2010 学年第一学期学年第一学期 大型数据库开发大型数据库开发 Oracle Oracle 期末试卷期末试卷 A A 卷卷 答案答案 开卷 开卷 考试用时 150 分钟 总分 100 分 题题 号号一二三总总 分分 得得 分分 得分得分阅卷人阅卷人 一 一 数据库分析 数据库分析 2020 分 分 评分标准 评分标准 10 个关系个关系 1 分一个 分一个 10 个实体个实体 1 分一个分一个 E R 图 班级 专业 开设 开设 系部 学生 任教 选修 毕设课题 开设 课程 成绩 录入 教工 奖惩信息 从属 从属 学籍异动 处理 关系模型 系部 系部编码 系部名称 专业 专业编码 专业名称 班级信息 班级编码 班级名称 专业编码 班主任 班级人数 学生信息 学号 姓名 性别 班级编码 身份证号 奖惩信息 毕设题目 毕设成绩 教师信息 教工号 姓名 性别 系部编码 身份证号 课程信息 课程编号 课程名称 课程所在系部 课程描述 开课信息 开课编号 课程所在系部编号 课程编号 教师所在系部编号 教师编号 系部编 号 入学年份 班级编号 学年编号 学期编号 课程学分 理论学时 实践学时 可选人数 已选人数 考试性质 理论成绩系数 平时成绩系数 期中成绩系数 期末成绩系数 上课时间 上课地点 是否是选修课 是否开课 选课信息 选课编号 开课编号 学生编号 成绩信息 成绩编号 学生编号 开课编号 已获学分 平时成绩 期中成绩 期末成绩 实 践成绩 课程总成绩 补考成绩 重修成绩 是否是选修课 班级 姓名 学号 密封线内不得答题 学籍异动信息 学号 学籍异动类别 转出系部 转入系部 转出班级 转入班级 学年 学 期 异动日期 得分得分阅卷人阅卷人 二 数据库设计 二 数据库设计 7070 分 分 一 一 创建学生档案管理系统表空间和数据库 2 2 6 共 10 分 1 2 分 名称和文件存放错误扣 1 分 其他扣一分 create temporary tablespace TempTBS tempfile D oracle product 10 2 0 oradata orcl tmptbs dbf size 30M reuse extent management local uniform size 16M 2 2 分 名称和文件存放错误扣 1 分 其他扣一分 CREATE UNDO TABLESPACE UndoTBS DATAFILE D oracle product 10 2 0 oradata orcl undotbs02 dbf SIZE 2M REUSE 3 6 分 两个条件不满足扣 1 分 Create database StuSys user sys identified by orcl user system identified by orcl controlfile reuse logfile group 1 redo01 log size 10M group 2 redo02 log size 10M maxlogfiles 10 maxlogmembers 5 maxdatafiles 100 character set us7ascii datafile sys01 dbf size 100m reuse extent management local default tablespace TempTBS defautl temporary tablespace tempts1 undo tablespace UndoTBS 二 二 创建学生档案管理系统相关表 1 4 2 3 共 10 分 1 1 分 创建系部表 Tb Dept 代码如下 CREATE TABLE Tb Dept DeptId Char 2 NOT NULL Primary Key DeptNameVarChar2 20 NOT NULL 2 1 分 创建学年基本表 Tb TeachingYear 代码如下 CREATE TABLE Tb TeachingYear TeachingYearIdChar 4 NOT NULL Primary Key TeachingYearNameVarchar2 13 NOT NULL 3 1 分 创建学期基本表 Tb Term 代码如下 CREATE TABLE Tb Term TermIdChar 2 NOT NULL Primary Key TermNameVarChar2 8 NOT NULL 4 2 分 约束与外键错误扣 1 分 其他扣 1 分 创建班级基本表 Tb Class 代码如下 CREATE TABLE Tb Class ClassIdChar 7 NOT NULL Primary Key ClassNameVarChar2 20 NOT NULL DeptIdChar 2 NOT NULL REFERENCES Tb Dept DeptId StuNumberNumber DEFAULT 0 NOT NULL CHECK StuNumber to date 1988 1 1 yyyy mm dd and Birthday create catalog tablespace rman ts 5 注册目标数据库 register database 命令对数据库进行注册 RMAN register database 单独备份归档日志文件 RMAN run 2 allocate channel dev1 type disk 3 backup archivelog all 6 release channel dev1 7 执行全数据库备份 RMAN run 2 allocate channel dev1 type disk 3 backup database 4 release channel dev1 5 执行全数据库恢复 RMAN run 2 allocate channel dev1 type disk 3 restore database 4 release channel dev1 5 单独恢复归档日志文件 RMAN run 2 allocate channel dev1 type disk 3 restore archivelog all 6 release channel dev1 7 2 使用闪回 使用闪回 Flashback 技术备份和恢复数据库 技术备份和恢复数据库 要设置某数据库为闪回数据库 必须以 ount 方式启动数据库实例 并且数据库被设置为归档 日志 rchivelog 模式 1 以 SYSDBA 的身份登录 变更登录用户 connect sys orcl as sysdba 2 关闭数据库 shutdown immediate 3 启动数据库 但不打开实例 startup mount 4 切换实例为归档日志模式了 alter database archivelog 设置数据库为闪回数据库 Alter database flashback on alter database open 使用 flashback database 语句闪回恢复数据库 Flashback database to timestamp to date 2009 12 22 10 10 10 yyyy mm dd hh24 mi ss 八八 6 分 评分细则 基本语法写出来得 2 分 其他 4 分 CREATE OR REPLACE TRIGGER Tb StuChange AFTER INSERT ON Tb StuChange FOR EACH ROW BEGIN UPDATE Tb Student SET StuChangeFlag Y WHERE Tb Student StuId new StuId END 九 九 6 分 评分细则 基本语法写出来得 2 分 其他 4 分 CREATE OR REPLACE PROCEDURE ResetStuNumber StudentId IN Tb Student StuId Type AS BEGIN update Tb Class set StuNumber StuNumber 1 where Tb Class ClassId select Tb StuChange FromClassId from Tb StuChange Tb StuChangeKind where Tb StuChange StuId StudentId and Tb StuChange StuChangeKindId Tb StuChangeKind StuChangeKindId and Tb StuChangeKind StuChangeName 留级 END Execute ResetStuNumber S09080101 得分得分阅卷人阅卷人 三 简答题 三 简答题 1010 分 分 1 简述 Oracle 与 SQLServer 数据库的不同之处 以及 Oracle 有哪些优势 5 分 评分细则 五条以上不扣分 少一条扣一分 在数据库可操作平台上 Oracle 可在所有主流平台上运行 Oracle 数据库采用开放的策略目标 它使得客户可以选择一种最适合他们特定需要的解决方案 客户可以利用很多种第三方应用程序 工具 对开发商来说是很大的支持 而 SQL Server 却只能在 Windows 上运行了 它只支持微软的 系统 这个就显得比较单调了 但 SQL Sever 在 Window 平台上的表现 和 Windows 操作系统的整 体结合程度 使用方便性 和 Microsoft 开发平台的整合性都比 Oracle 强的很多 但 Windows 操作 系统的稳定性及可靠性大家是有目共睹的 再说 Microsoft 公司的策略目标是将客户都锁定到 Windows 平台的环境当中 只有随着 Windows 性能的改善 SQL Server 才能进一步提高 从操作 平台这点上 Oracle 是完全优胜于 SQL Server 的了 由于 SQL Server 只能在 Windows 下运行的原因 普遍认为 SQL Server 数据库的可靠性是比较差的 Oracle 的性能优势体现在他的多用户上 而 SQL Server 的性能优势在多用户上就显得力不从心 了 Oracle 的安全认证获得最高认证级别的 ISO 标准认证 而 SQL Server 并没有获得什么安全认 证 这方面证明了 Oracle 的安全性是高于 SQL Server 的 操作上 SQL Server 明显要比 Orcale 简单 Oracle 的界面基本是基于 Java 的 大部分的工具是 Dos 界面的 甚至 SQLPlus 也是 SQL Server 是全图形界面 很少见到 DOS 窗口 SQL Server 中 的企业管理器给用户提供一个全图形界面的集成管理控制台来集中管理多个服务器 Oracle 也有自 己的企业管理器 而且它的性能在某些方面甚至超过了 SQL Server 的企业管理器 但它安装较为 困难 Oracle 能跨平台 且支持大容量的数据存储 但是不好用 对于中小型的数据量 采用 SQL Server 足够应付 而大规模的数据量 采用 Oracle 较为合适 在一般的应用项目中 采用 SQL Server 即可 Oracle 性能稳定 是多进程的 像对安全要求特别高的银行 金融 政府部门以及一 些大企业等等都是采用 Oracle Oracle 一个实例管理一个数据库 SQL Server 管理多个数据库 Oracle 的 metadata 保存在其管理的数据库中 SQL Server 的 metadata 保存在一个单独的 master 数据库中 Oracle 跨平台 在类 unix 系统中后台进程以进程的方式实现 但在 windows 平台下 后台进程是以线程方式实现的 sql server 因为只在 windows 平台下运行 后台进程只能以线程的 形式运行 总之 稳定性 安全性 兼容性上都是 oracle 比较好 Oracle 为客户端开启会话有两种方式 共享服务和专用服务 在专用服务情况下 监听器为连 接请求创建新进程 Unix 环境下是 Process Windows 下我想应该是 Thread 吧 共享服务情况下 监听器将客户请求交给 Dispatcher 由 Dispatcher 安排多客户的作业 SQL Server 在默认情况下自 动为客户端连接创建线程 当有非常多的客户连接时 SQL Server 可以使用线程池管理多会话 这 类似于 Oracle 的共享服务 Oracle 的内存管理分三块 SGA PGA UGA 在 MSDN 中并没有提及怎样控制 SQL Server 的内存分配 只是提到 SQL Server 的虚拟地址空间分成缓冲池占用空间和其余空间 且 SQL Server 有动态内存管理机制 Oracle 的实例一次只能管理一个数据库 数据库在集群环境下可由多个实例管理 而 SQL Server 单个实例一次能管理多个数据库 Oracle 数据库存储方式有 OS 文件 裸分区 ASM 等 SQL Server 的数据库存储只能是系统文件 Oracle 数据库包含表空间 表空间可以使用多个文件存储数据 表空间就类似于 SQL Server 中的文件组 区是物理连续上连接的存储空间 区中包括最小 I O 单位 块 Oracle 或页 SQL Server 但 SQL Server 页大小是 8KB 区包含 8 个页 Oracle 不同表空间可以有不同的块 大小 区的大小和保护块的数量也不固定 SQL Server 的页由一个数据库对象独占 物理储存的数 据库对象只有索引和表两种 而 Oracle 中的段由数据库对象定义 且其存储的对象复杂得多 有表 段 索引段 回滚段 临时段等等 所以在一个聚簇段中的块可能被多个表使用 Oracle 使用 FREELIST 管理可以块 通过设置 PCTFREE 和 PCTUSED 控制快在何种条件下可 用 SQL Server 使用 GAM SGAN 记录可用页 使用 PFS 跟踪页的使用状况 SQL Server 的表有两种方式组织数据的物理存储 一种是无序的堆组织 这 Oracle 是类似的 另一种是由聚簇索引决定数据排序方式 Oracle 也可有索引组织方式 但不同于 SQL Server 它依 键排序数据 不增加一个索引用于聚簇 不会有额外的开销 此外 Oracle 的聚簇表是多表存储在 相同段上 像 SQL Server 的混合区可以包含不同表的页 但 Oracle 的聚簇表是一组含有相同列的 表可以储存在相同的块中 聚簇表的可以有索引或 Hash 方式组织数据 Oracle 创建表分区会创建不同的段 SQL Server 2005 通过分区方案将不同分区存储到不同的文 件组 Oracle 有三种分区方法 SQL Server 使用分区函数 Oracle 11g 中还将加入时段分区 系统 分区等 SQL Server 的索引只有 B 树 Oracle 有 B 树 位图 函数 位图连接和可扩展索引 Oracle 的重做日志与 SQL Server 的事务日志都使用循环写入策略 Oracle 使用多个重做日志文 件 SQL Server 也可使用多个日志文件 但将日志文件分成多个虚拟日志 以虚拟日志为单位进行 循环 2 简述 Oracle 与 SQL Server 在数据备份与恢复上的差异 5 分 评分细则 三条以上详细描述不扣分 不详细扣两分 一 两个数据库在实例与介质备份恢复上的差异 现在由于各种技术文档翻译不统一 所以在具体的概念上有所区别 Oracle 数据库中 对于数据库备份 的三种类型分别叫做完全备份 差异增量备份与累计增量备份 其中 差异增量就是我们上面所说的增量备 份 而累计增量则是我们上面所提到的差异备份 为了前后文的统一 在下面的阐述中 笔者还是利用差异备 份与增量备份这两个名词 首先 在 Oracle 数据库中有实例恢复与介质恢复的区别 实例故障是指数据库系统本身发生故障 如操 作系统错误 意外断电 非法关机 后台进程故障或者使用 shutdown abort 终止数据库实例所发生的故障 一 般来说 实例恢复是数据库系统自动完成的 当出现实例故障时 再次重启数据库后 由数据库系统根据重 作日志文件记录的内容 如可能在故障发生的时候 还有一些未提交的事务 或者已提交但是还没有完成的 事务 根据这些内容自动完成实例恢复 到目前的版本为止 SQL Server 数据库还没有实例恢复的概念 介质恢复主要用于介质故障引起的数据库文件的破坏 当某个数据库文件 或者一个文件中的某些内容 或者当出现了一个磁盘坏区 或者数据库被病毒等破坏导致数据丢失等等 遇到这些情况时就需要采用介质 恢复 介质恢复必须由数据库管理员手工完成最新数据库备份和日志文件备份的装入 并执行各种恢复命令 才能够恢复 介质恢复 在 SQL Server 中 就是数据备份与数据恢复 也就是说 两个数据库在这方面的差 异 主要在于微软的 SQL Server 数据库还没有 实例恢复 的概念 或者说还没有形成 实例恢复 这一个体系 虽然其在技术上实现了 实例恢复 的部分功能 二 两个数据库在备份类型上的差异 根据备份时机的不同 数据库备份可以分为脱机备份与恢复 联机备份与恢复 逻辑备份与恢复等 脱机备份与恢复 有些专家又成为冷备份与恢复 他是指在关闭数据库的情况下对数据库文件进行物理 备份与恢复 这是一种最原始 最简单 最直接的数据库备份与恢复的方法 在脱机备份之前 数据库管理 员需要确保数据库能够有足够长的时间停留在脱机状态 以便进行完全备份与恢复 因为在脱机备份的过程 中 任何人都不能够连到数据库 现在两个数据库都支持脱机备份与恢复功能 联机备份与恢复 有人也把它称为热备份与热恢复 它是指在数据库正常使用的过程中 对数据进行备 份与恢复 对于 Oracle 数据库来说 如果要实现联机备份与恢复 则数据库必须处于归档模式之下 而对于 SQL Server 数据库来说 则没有这种要求 对 SQL Server 数据库来说 只要设置了联机备份策略 则数据库 会自动进行调整 以符合连接备份与恢复的条件 另外 Oracle 的联机备份与恢复功能 实现起来比较复杂 必须比微软的数据库投入更多的时间和精力来测试备份与恢复策略 不过相对来说 其灵活性要高 逻辑备份与恢复则是 Oracle 数据库特有的功能 逻辑备份与恢复指的是利用 Oracle 数据库提供的工具 如导入导出工具 数据泵工具 将数据库中的数据进行备份或者恢复 逻辑备份与恢复其实是一整套解决方 案 利用这个方案 可以实现不同操作系统之间的数据传递 假设现在有一个部署在微软操作系统之上的 Oracle 数据库 现要把这个数据库中的内容移值到 Linux 操作系统之上的 Oracle 数据库中去 就可以利用这个方 案来进行解决 因为利用逻辑备份所导出的数据文件 是采取 Oracle 格式的二进制文件 其中不包括操作系 统的信息 所以 可以在不同操作系统平台上的 Oracle 数据库之间直接传输数据 另外还可以利用这个技术 实现 Oracle 不同数据库版本之间的转换工作 如我们需要把低版本的数据库升级到高版本的数据库中 我们 就可以利用这门技术 将低版本数据库中的数据泄出 然后装入另一个高版本的数据库中 不过 若要从高 版本的数据库装入到低版本的数据库中 则还需要一些额外的工作 不过 逻辑备份与恢复很多功能都是为 Oracle 数据库系统的跨平台性能所涉及的 如在不同操作系统上的数据库之间实现数据的直接交换等等 三 两个数据库在备份策略上的差异 根据不同的备份类型 可以组成不同的备份策略 如我们可以在星期天进行一次完全备份 然后再以后 的每一天进行一次增量备份 或者在星期天进行一次完全备份 而在以后的每一天进行一次差异备份
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客户关系维护与信息跟踪系统
- 弹唱音乐考试题及答案
- 农村生物技术运用及研发合作协议
- 公共区域环境卫生责任保证函(5篇)
- 农业服务信息系统开发建设合同
- 创意想法生成及可行性分析框架工具
- 商业计划书撰写与提交模板
- 《一元一次不等式的解法:七年级数学代数教案》
- 产品质量检测报告生成工具
- 金利220千伏变电站新建工程环境影响报告表
- 医院课件:《抗肿瘤药物分级管理培训》
- 电气防爆专项检查表
- 教科版小学科学六年级上册《1.7微生物与健康》课件
- (正式版)JBT 106-2024 阀门的标志和涂装
- 便利店委托运营协议
- 汉语言文学专业就业方向及就业前景调研报告
- 招商加盟营销方案
- 科研伦理与学术规范-课后作业答案
- 红军长征感人红色故事3-10分钟10篇
- 秋天的雨 省赛获奖
- 集团公司石油工程专业化整合重组总体方案
评论
0/150
提交评论