数据库设计与数据库恢复技术数据库设计与数据库恢复技术5.1 5.1 数据库设计的步骤数据库设计的步骤5.2 5.2 需求分析需求分析第第 章章 55.3 5.3 数据库实施数据库实施5.4 5.4 数据库运行与维护数据库运行与维护5.5 5.5 数据库恢复概述数据库恢复概述5.6 5.6 数据库复制与数据库复制与主主 要要 内内 容容第5章数据库镜像数据库镜像数据库设计的步骤数据库设计的步骤5.1 用户需求的收集和分析,结果得到数据字典描述的数据需求用户需求的收集和分析,结果得到数据字典描述的数据需求 和数据流图描述的处理需求和数据流图描述的处理需求需求分析阶段需求分析阶段:通过对用户需求进行综合、归纳与抽象,形成一个独立于通过对用户需求进行综合、归纳与抽象,形成一个独立于具体具体DBMS的概念模型,可以用的概念模型,可以用E-R图表示2.概念结构设计阶段:概念结构设计阶段:一、一、数据库设计的特点:数据库设计的特点:数据库建设是硬件、软件和干件数据库建设是硬件、软件和干件(技术与管理的界面称为干件技术与管理的界面称为干件)的结合数据库设计应该和应用系统设计相结合,在整个设计过程中数据库设计应该和应用系统设计相结合,在整个设计过程中 要把结构要把结构(数据数据)设计和行为设计和行为(处理、功能处理、功能)设计密切结合起来。
设计密切结合起来二、二、数据库设计的步骤:数据库设计的步骤:数据库设计是一项涉及多学科的综合性技术,是一项庞大的工程项目数据库设计是一项涉及多学科的综合性技术,是一项庞大的工程项目数据库设计的步骤数据库设计的步骤5.1为逻辑数据模型选取一个最适合应用环境的物理结构为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)包括存储结构和存取方法)数据库物理设计阶段数据库物理设计阶段:运用运用DBMS提供的数据语言(例如提供的数据语言(例如SQL)及其宿主语言)及其宿主语言(例如(例如C),根据逻辑设计和物理设计的结果建立数据库,),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行编制与调试应用程序,组织数据入库,并进行试运行数据库实施阶段数据库实施阶段:数据库应用系统经过试运行后即可投入正式运行在数据数据库应用系统经过试运行后即可投入正式运行在数据库系统运行过程中必须不断地对其进行评价、调整与修改库系统运行过程中必须不断地对其进行评价、调整与修改数据库运行和维护阶段数据库运行和维护阶段:将概念结构转换为某个将概念结构转换为某个DBMS所支持的数据模型(例如所支持的数据模型(例如关系模型),并对其进行优化。
关系模型),并对其进行优化逻辑结构设计阶段:逻辑结构设计阶段:需求分析的任务需求分析的任务5.2.15.2 需求分析需求分析需求分析任务需求分析任务:通过详细调查现实世界要处理的对象(组织、部门、企业等),通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能新系统必户的各种需求,然后在此基础上确定新系统的功能新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库来设计数据库需求分析重点需求分析重点调查、收集与分析用户在数据管理中的信息要求、调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求处理要求、安全性与完整性要求信息要求是用户需要从数据库中获得信息的内容与性质由用信息要求是用户需要从数据库中获得信息的内容与性质由用户的信息要求可以导出数据要求,即在数据库中需要存储哪些数据户的信息要求可以导出数据要求,即在数据库中需要存储哪些数据处理要求是指用户要求完成什么处理功能,对处理的响应时间处理要求是指用户要求完成什么处理功能,对处理的响应时间 有什么要求,处理方式是批处理还是联机处理。
有什么要求,处理方式是批处理还是联机处理收集资料收集资料,了解用户需求了解用户需求需求分析的方法需求分析的方法5.2.25.2 需求分析需求分析首先调查组织机构情况首先调查组织机构情况然后调查各部门的业务活动情况然后调查各部门的业务活动情况协助用户明确对新系统的各种要求协助用户明确对新系统的各种要求 确定新系统的边界确定新系统的边界用户缺少计算机知识;设计人员缺少用户的专业知识;用户需求发生变化用户缺少计算机知识;设计人员缺少用户的专业知识;用户需求发生变化难!难!分析和表达用户的需求:分析和表达用户的需求:主要包括自顶向下和自底向上两类方法主要包括自顶向下和自底向上两类方法 跟班作业跟班作业 开调查会开调查会请专人介绍请专人介绍询问询问设计调查表请用户填写设计调查表请用户填写查阅记录查阅记录常用调查方法常用调查方法自顶向下的结构化分析方法自顶向下的结构化分析方法5.2.2 需求分析的方法需求分析的方法5.2 需求分析需求分析 从最上层的系统组织机构入手,采用逐层分解的方式分析系统,从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并且把每一层用数据流图和数据字典描述并且把每一层用数据流图和数据字典描述。
Structured Analysis):图书借阅管理系统1学 生 数 据图 书 数 据图 书 库 存 数 据数据流图数据流图5.2.2 需求分析的方法需求分析的方法5.2 需求分析需求分析借书 处理系 统1.1学生数据借书信息还书 处理系 统1.2还书信息图 书 库 存 数 据:细化的数据流图细化的数据流图学 生 数 据数 据 报 告出 图 书变 更 库 存 量借出 图书学生数据非 法 学 生数 据 报 告学生数据借书信息借 书数 据检 查1.1.2还书信息图书库存量检查1.2.1修改库存状 态(入)1.1.3现 有 库 存数 据变更库存量数据插 入 借数 据空 缺 图 书现 有 库 存 数 据借 出 图 书 数 据数 据删除/修改数据修改库存状 态(出)1.2.2借 出 图书 数 据处 罚 数据 报 告学 生 数据 检 查1.1.1借 出 图 书 数 据图 书 库 存 数 据数据字典数据字典5.2.35.2 需求分析需求分析 数据流图表达了数据和处理过程的关系系统中的数据流图表达了数据和处理过程的关系系统中的数据则借助数据字典(数据则借助数据字典(Data Dictionary)来描述。
来描述数据字典数据字典 用来说明或描述系统中数据的静态组成结构的用来说明或描述系统中数据的静态组成结构的 数据库系统中所有数据的详尽描述,是各类数据属性的清单数据库系统中所有数据的详尽描述,是各类数据属性的清单 包括:包括:数据项:数据的最小单位数据项:数据的最小单位数据结构:若干数据项有意义的集合数据结构:若干数据项有意义的集合数据流:表示某一处理过程的输入或输出数据流:表示某一处理过程的输入或输出数据存储:处理过程中存取的数据数据存储:处理过程中存取的数据处理过程:该过程的功能等处理过程:该过程的功能等 数据字典在需求分析阶段建立,在数据库设计过程中不断修改、数据字典在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善充实、完善数据字典数据字典(1)5.2.35.2 需求分析需求分析“学号学号”数据项数据项:数据项:学号数据项:学号 含义说明:唯一标识每个学生含义说明:唯一标识每个学生 别名:学生编号别名:学生编号 类型:字符型类型:字符型 长度:长度:8 取值范围:取值范围:00000000至至99999999 取值含义:前两位标别该学生所取值含义:前两位标别该学生所 在年级,后六位按顺序编号与其在年级,后六位按顺序编号与其 他数据项的逻辑关系:他数据项的逻辑关系:“学生学生”数据结构数据结构:数据结构:学生数据结构:学生 含义说明:是学籍管理子系统的含义说明:是学籍管理子系统的 主体数据结构,定义主体数据结构,定义 了一个学生的有关信息了一个学生的有关信息 组组 成:成:学号,姓名,性别,学号,姓名,性别,年龄,所在系,年级年龄,所在系,年级 数据字典数据字典(2)5.2.35.2 需求分析需求分析数据流数据流“体检结果体检结果”:数据流:体检结果数据流:体检结果 说说 明:明:学生参加体格检查学生参加体格检查 的最终结果的最终结果 数据流来源:体检数据流来源:体检 数据流去向:批准数据流去向:批准 组组 成:成:平均流量:平均流量:高峰期流量:高峰期流量:数据存储数据存储“学生登记表学生登记表”:数据存储:学生登记表数据存储:学生登记表 说明:记录学生的基本情况说明:记录学生的基本情况 流入数据流:流入数据流:流出数据流:流出数据流:组成:组成:数据量:每年数据量:每年3000张张 存取方式:随机存取存取方式:随机存取 数据字典数据字典(3)5.2.35.2 需求分析需求分析处理过程处理过程“分配宿舍分配宿舍”:处理过程:分配宿舍处理过程:分配宿舍 说明:为所有新生分配学生宿舍说明:为所有新生分配学生宿舍 输入:学生,宿舍,输入:学生,宿舍,输出:宿舍安排输出:宿舍安排 处理:在新生报到后,为所有新生分配学生宿舍。
要处理:在新生报到后,为所有新生分配学生宿舍要求同一间宿舍只能安排同一性别的学生,同一个学生只能安排在一个求同一间宿舍只能安排同一性别的学生,同一个学生只能安排在一个宿舍中每个学生的居住面积不小于宿舍中每个学生的居住面积不小于3平方米安排新生宿舍其处理平方米安排新生宿舍其处理时间应不超过时间应不超过15分钟数据库实施数据库实施5.3数据库实施主要包括以下工作:数据库实施主要包括以下工作:1.用用DDL定义数据库结构定义数据库结构 1.筛选数据筛选数据 2.转换数据格式转换数据格式 3.输入数据输入数据 4.校验数据校验数据 2.组织数据入库组织数据入库 3.编制与调试应用程序编制与调试应用程序 4.数据库试运行数据库试运行 功能测试:即实际运行应用程序,执行对数据库的各种操作,测试应功能测试:即实际运行应用程序,执行对数据库的各种操作,测试应 用程序的各种功能用程序的各种功能性能测试:即测量系统的性能指标,分析是否符合设计目标性能测试:即测量系统的性能指标,分析是否符合设计目标数据库运行与维护数据库运行与维护5.4 数据库投入运行并不意味着设计过程的终结,由于应用环境在不断数据库投入运行并不意味着设计过程的终结,由于应用环境在不断 变化,数据库运行过程中物理存储也会不断变化,数据库经常性的维护变化,数据库运行过程中物理存储也会不断变化,数据库经常性的维护 工作主要是由工作主要是由DBA完成的,它包括:完成的,它包括:数据库的转储和恢复数据库的转储和恢复 数据库的安全性、完整性控制数据库的安全性、完整性控制 定期对数据库和日志文件进行备份,以保证一旦发生故障,能利用定期对数据库和日志文件进行备份,以保证一旦发生故障,能利用数据库备份及日志文件备份,尽快将数据库恢复到某种一致性状态,并数据库备份及日志文件备份,尽快将数据库恢复到某种一致性状态,并尽可能减少对数据库的破坏。
尽可能减少对数据库的破坏DBA必须根据用户的实际需要授予不同的操作权限另外,由于应必须根据用户的实际需要授予不同的操作权限另外,由于应用环境的变化,数据库的完整性约束条件也会变化,也需要用环境的变化,数据库的完整性约束条件也会变化,也需要DBA不断修不断修正,以满足用户要求正,以满足用户要求数据库运行与维护数据库运行与维护5.4 数据库性能的监督、分析和改进数据库性能的监督、分析和改进 数据库的重组织和重构造数据库的重组织和重构造 目前许多目前许多DBMSDBMS产品都提供了监测系统性能参数的工具,产品都提供了监测系统性能参数的工具,DBADBA可以利用可以利用这些工具方便地得到系统运行过程中一系列性能参数的值这些工具方便地得到系统运行过程中一系列性能参数的值DBADBA应该仔细应该仔细分析这些数据,通过调整某些参数来进一步改进数据库性能分析这些数据,通过调整某些参数来进一步改进数据库性能数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBADBA就要就要对数据库进行重组织,或部分重组织(只对频繁增、删的表进行重组织);对数据库进行重组织,或部分重组织(只对频繁增、删的表进行重组织);若若原有的数据库设计不能满足新的需求,原有的数据库设计不能满足新的需求,需对数据库结构进行需对数据库结构进行重构造重构造 。
DBMSDBMS一般都提供了重组织数据库用的实用程序,帮助一般都提供了重组织数据库用的实用程序,帮助DBADBA重新组织数据库重新组织数据库数据库恢复概述数据库恢复概述5.5 尽管数据库系统中采取了各种保护措施来防止数据库的安全尽管数据库系统中采取了各种保护措施来防止数据库的安全性和完整性被破坏,保证并发事务的正确执行,但是计算机系统性和完整性被破坏,保证并发事务的正确执行,但是计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏仍是中硬件的故障、软件的错误、操作员的失误以及恶意的破坏仍是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此数据库管理系统(恢复子系统)必须具有把数据库据丢失,因此数据库管理系统(恢复子系统)必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能,这就是数据库的恢复状态)的功能,这就是数据库的恢复。
恢复子系统是数据库管理系统的一个重要组成部分,占整个恢复子系统是数据库管理系统的一个重要组成部分,占整个系统代码的百分之十以上系统代码的百分之十以上一、事务一、事务(Transaction)所谓事务是用户定义的一个数据库操作序列,这些操作要么全所谓事务是用户定义的一个数据库操作序列,这些操作要么全 做,要么全不做,是一个不可分割的工作单位做,要么全不做,是一个不可分割的工作单位事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元一个程序中可以包含多个事务一个程序中可以包含多个事务事务的开始与结束可以由用户显式控制事务的开始与结束可以由用户显式控制事务是恢复和并发控制的基本单位事务是恢复和并发控制的基本单位5.5 数据库恢复概述数据库恢复概述5.5.1 事务的基本概念事务的基本概念 用用SQL定义事务定义事务在在SQL语言中,定义事务的语句有三条:语言中,定义事务的语句有三条:COMMIT表示提交,即提交事务的所有操作具体地说就是将表示提交,即提交事务的所有操作具体地说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。
事务正常结束ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤消,滚回到事务开始时的状态全部撤消,滚回到事务开始时的状态BEGIN TRANSACTION COMMIT ROLLBACK5.5 数据库恢复概述数据库恢复概述5.5.1 事务的基本概念事务的基本概念事务的基本概念事务的基本概念5.5 数据库恢复概述数据库恢复概述5.5.1二、事务的特性二、事务的特性 4持续性持续性 3隔离性隔离性 2一致性一致性1原子性原子性 事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态一个事务的执行不能被其他事务干扰并发执行的各个事务之间不能互相干扰一个事务的执行不能被其他事务干扰并发执行的各个事务之间不能互相干扰一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
一个事务一旦提交,它对数据库中数据的改变就应该是永久性的事务的基本概念事务的基本概念5.5 数据库恢复概述数据库恢复概述5.5.1二、事务的特性二、事务的特性 4持续性持续性 3隔离性隔离性 2一致性一致性1原子性原子性 事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态一个事务的执行不能被其他事务干扰并发执行的各个事务之间不能互相干扰一个事务的执行不能被其他事务干扰并发执行的各个事务之间不能互相干扰一个事务一旦提交,它对数据库中数据的改变就应该是永久性的一个事务一旦提交,它对数据库中数据的改变就应该是永久性的事务的基本概念事务的基本概念5.5 数据库恢复概述数据库恢复概述5.5.1三、破坏事务特性的因素三、破坏事务特性的因素 1.多个事务并行运行时,不同事务的操作交叉执行多个事务并行运行时,不同事务的操作交叉执行2.事务在运行过程中被强行停止事务在运行过程中被强行停止数据库管理系统必须保证多个事务的交叉运行不影响数据库管理系统必须保证多个事务的交叉运行不影响 这些事务的原子性。
这些事务的原子性数据库管理系统必须保证被强行终止的事务对数据库数据库管理系统必须保证被强行终止的事务对数据库 和其它事务没有任何影响和其它事务没有任何影响这些就是数据库管理系统中恢复机制和并发控制机制的责任这些就是数据库管理系统中恢复机制和并发控制机制的责任故障的种类故障的种类(1)5.5 数据库恢复概述数据库恢复概述5.5.2 数据库运行过程中可能发生的故障主要有三类:事务故障、数据库运行过程中可能发生的故障主要有三类:事务故障、系统故障、介质故障和计算机病毒各类故障,对数据库的影系统故障、介质故障和计算机病毒各类故障,对数据库的影响有两种可能性一是数据库本身被破坏;二是数据库没有破响有两种可能性一是数据库本身被破坏;二是数据库没有破坏,但数据可能不正确坏,但数据可能不正确一、事务故障一、事务故障 事务故障意味着事务没有达到预期的终点(事务故障意味着事务没有达到预期的终点(COMMIT或或ROLLBACK),),因此,数据库可能处于不正确状态恢复程序要在不影响其它事务运行的因此,数据库可能处于不正确状态恢复程序要在不影响其它事务运行的情况下,强行回滚(情况下,强行回滚(ROLLBACK)该事务,即撤消该事务已经作出的任何)该事务,即撤消该事务已经作出的任何对数据库的修改,使得该事务好象根本没有启动一样。
对数据库的修改,使得该事务好象根本没有启动一样这类恢复操作称为事务撤消(这类恢复操作称为事务撤消(UNDO)二、系统故障二、系统故障 三、介质故障三、介质故障 这类故障影响正在运行的所有事务,但不破坏数据库这时主存内容,尤这类故障影响正在运行的所有事务,但不破坏数据库这时主存内容,尤其是数据库缓冲区(在内存)中的内容都被丢失,所有运行事务都非正常终止其是数据库缓冲区(在内存)中的内容都被丢失,所有运行事务都非正常终止恢复子系统必须在系统重新启动时让所有非正常终止的事务回滚,强行撤恢复子系统必须在系统重新启动时让所有非正常终止的事务回滚,强行撤消(消(UNDO)所有未完成事务重做()所有未完成事务重做(Redo)所有已提交的事务)所有已提交的事务 这类故障将破坏数据库或部分数据库,并影响正在存取这部分数据的所这类故障将破坏数据库或部分数据库,并影响正在存取这部分数据的所有事务恢复子系统将装入发生故障前某个时刻的数据副本,并重做自此时始的恢复子系统将装入发生故障前某个时刻的数据副本,并重做自此时始的所有成功事务所有成功事务故障的种类故障的种类(2)5.5 数据库恢复概述数据库恢复概述5.5.2 四、计算机病毒四、计算机病毒恢复的实现技术恢复的实现技术5.5 数据库恢复概述数据库恢复概述5.5.3 恢复的基本原理可以用一个词来概括:恢复的基本原理可以用一个词来概括:。
即,数据库中任何一即,数据库中任何一部分被破坏的或不正确的数据可以根据存储在系统别处的冗余数据来重建部分被破坏的或不正确的数据可以根据存储在系统别处的冗余数据来重建一、数据转储一、数据转储 所谓转储即所谓转储即DBA定期地将整个数据库复制到磁带或另一个定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程当数据库遭到破坏后可以将后备副本磁盘上保存起来的过程当数据库遭到破坏后可以将后备副本重新装入,并重新运行自转储以后的所有更新事务重新装入,并重新运行自转储以后的所有更新事务建立冗余数据最常用的技术是数据转储和登记日志文件建立冗余数据最常用的技术是数据转储和登记日志文件 恢复涉及的两个关键问题是:恢复涉及的两个关键问题是:第一,如何建立冗余数据第一,如何建立冗余数据第二,如何利用冗余数据第二,如何利用冗余数据5.5.3 恢复的实现技术恢复的实现技术登记日志文件(登记日志文件(logging)二、二、转储可分为静态转储和动态转储:转储可分为静态转储和动态转储:静态转储是在系统中无运行事务时进行的转储操作静态转储是在系统中无运行事务时进行的转储操作动态转储是指转储期间允许对数据库进行存取或修改。
动态转储是指转储期间允许对数据库进行存取或修改转储还可以分为海量转储和增量转储两种方式转储还可以分为海量转储和增量转储两种方式日志文件的内容日志文件的内容 日志文件日志文件用来记录事务对数据库的更新操作的文件用来记录事务对数据库的更新操作的文件以记录为单位的日志文件以记录为单位的日志文件以数据块为单位的日志文件以数据块为单位的日志文件 日志文件的类型日志文件的类型5.5.3 恢复的实现技术恢复的实现技术 日志文件的内容日志文件的内容 各个事务的开始标记各个事务的开始标记 各个事务的结束标记各个事务的结束标记 各个事务的所有更新操作各个事务的所有更新操作 事务标识(标明是哪个事务)事务标识(标明是哪个事务)操作的类型(插入、删除或修改)操作的类型(插入、删除或修改)操作对象操作对象(记录内部标识记录内部标识)更新前数据的旧值更新前数据的旧值 更新后数据的新值更新后数据的新值 每个日志记录的内容主要包括:每个日志记录的内容主要包括:以记录为单位的日志文件内容:以记录为单位的日志文件内容:事务标识事务标识 被更新的数据块被更新的数据块 以数据块为单位的日志文件内容:以数据块为单位的日志文件内容:恢复的实现技术恢复的实现技术5.5 数据库恢复概述数据库恢复概述5.5.3 日志文件的作用日志文件的作用 登记日志文件(登记日志文件(logging)事务故障恢复和系统故障必须用日志文件。
事务故障恢复和系统故障必须用日志文件1.登记的次序严格按并发事务执行的时间次序登记的次序严格按并发事务执行的时间次序2.必须先写日志文件,后写数据库必须先写日志文件,后写数据库登记日志文件时必须遵循两条原则:登记日志文件时必须遵循两条原则:恢复策略恢复策略5.5.4 介质故障的恢复介质故障的恢复 系统故障的恢复系统故障的恢复(由系统在重新启动时自动完成)(由系统在重新启动时自动完成)事务故障的恢复事务故障的恢复(由系统自动完成由系统自动完成)1.反向扫描文件日志,查找该事务的更新操作反向扫描文件日志,查找该事务的更新操作2.对该事务的更新操作执行逆操作对该事务的更新操作执行逆操作3.继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理4.如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了1.正向扫描日志文件,对已经提交事务,将其事务标识记入重做队列;正向扫描日志文件,对已经提交事务,将其事务标识记入重做队列;尚未完成的事务,将其事务标识记入撤消队列尚未完成的事务,将其事务标识记入撤消队列。
2.对撤消队列中的各个事务进行撤消对撤消队列中的各个事务进行撤消(UNDO)处理3.对重做队列中的各个事务进行重做对重做队列中的各个事务进行重做(REDO)处理1.装入最新的数据库后备副本装入最新的数据库后备副本2.装入相应的日志文件副本重做已完成的事务装入相应的日志文件副本重做已完成的事务数据库复制与数据库镜像数据库复制与数据库镜像5.6一、数据库复制一、数据库复制 数据库复制指在多各场地保留多个数据库备份,这些备份可以数据库复制指在多各场地保留多个数据库备份,这些备份可以是整个数据库的副本也可以是部分数据库的副本各个场地的用户是整个数据库的副本也可以是部分数据库的副本各个场地的用户可以并发地存取不同的数据库副本可以并发地存取不同的数据库副本数据库复制通常有三种方式:对等复制、主数据库复制通常有三种方式:对等复制、主/从复制和级联复制从复制和级联复制 应用应用应用应用复制数据库复制数据库复制数据库复制数据库复制数据库复制数据库复制数据库复制数据库事务事务事务事务对等复制对等复制数据库复制数据库复制5.6 数据库复制与数据库镜像数据库复制与数据库镜像一、一、数据库复制通常有三种方式:对等复制、主数据库复制通常有三种方式:对等复制、主/从复制和级联复制从复制和级联复制 应用应用复制数据库复制数据库主数据库主数据库复制数据库复制数据库复制数据库复制数据库事务事务主主/从复制从复制 数据库复制通常有三种方式:对等复制、主数据库复制通常有三种方式:对等复制、主/从复制和级联复制从复制和级联复制 应用应用复制数据库复制数据库主数据库主数据库复制数据库复制数据库复制数据库复制数据库事务事务复制数据库复制数据库复制数据库复制数据库级联复制级联复制数据库复制数据库复制5.6 数据库复制与数据库镜像数据库复制与数据库镜像一、一、数据库镜像数据库镜像5.6 数据库复制与数据库镜像数据库复制与数据库镜像 二、二、镜像镜像镜像镜像复制复制恢复恢复应用应用应用应用应用应用2应用应用3应用应用4readreadread应用应用2应用应用3应用应用4readreadreadupdateupdate 数据库管理系统提供了数据库镜像(数据库管理系统提供了数据库镜像(Mirror)功能用于数据库恢复。
功能用于数据库恢复即根据即根据DBA的要求,自动把整个数据库或其中的关键数据复制到另一个的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上每当主数据库更新时,磁盘上每当主数据库更新时,DBMS自动把更新后的数据复制过去自动把更新后的数据复制过去总总 结结5.1 5.1 数据库设计的步骤数据库设计的步骤5.2 5.2 需求分析需求分析5.3 5.3 数据库实施数据库实施5.4 5.4 数据库运行与维护数据库运行与维护 5.5 5.5 数据库恢复概述数据库恢复概述5.6 5.6 数据库复制与数据库镜像数据库复制与数据库镜像需求分析阶段需求分析阶段概念结构设计阶段概念结构设计阶段逻辑结构设计阶段逻辑结构设计阶段数据库物理设计阶段数据库物理设计阶段数据库实施阶段数据库实施阶段数据库运行和维护阶段数据库运行和维护阶段 收集资料收集资料,了解用户需求了解用户需求 数据字典、数据字典、数据流图数据流图事务事务(Transaction)事务的特性事务的特性故障的种类故障的种类恢复的实现技术及策略恢复的实现技术及策略。