数据库原理-数据恢复

1.如何建立冗余数据

  1. 数据转储(backup)
  2. 登录日志文件(logging)

1.数据转储

特点:

    1. 数据库遭到破坏后可以将后备副本重新装入
    2. 重装后备副本只能将数据库恢复到转储时的状态

方法:

    1. 静态转储与动态转储
    2. 海量转储与增量转储

  静态转储

转储期间不允许对数据库的任何存取、修改活动

优点:

实现简单

缺点:

    • 降低了数据库的可用性
    • 转储必须等待正运行的用户事务结束
    • 新的事务必须等转储结束

  动态转储

    • 转储操作与用户事务并发进行
    • 转储期间允许对数据库进行存取或修改

优点:

    • 不用等待正在运行的用户事务结束
    • 不会影响新事务的运行

缺点:

不能保证副本中的数据正确有效

[例]

在转储期间的某个时刻Tc,系统把数据A=100转储到磁带上,而在下一时刻Td,某一事务将A改为200。转储结束后,后备副本上的A已是过时的数据了

    恢复方法:

      利用动态转储得到的副本进行故障恢复,需要把动态转储期间各事务对数据库的修改活动登记下来,建立日志文件,后备副本加上日志文件才能把数据库恢复到某一时    刻的正确状态。

  海量转储: 每次转储全部数据库

  增量转储: 只转储上次转储后更新过的数据

2.登记日志文件     

以记录为单位的日志文件内容

    1. 各个事务的开始标记(BEGIN TRANSACTION)
    2. 各个事务的结束标记(COMMIT或ROLLBACK)
    3. 各个事务的所有更新操作

以记录为单位的日志文件,每条日志记录的内容

    1. 事务标识(标明是哪个事务)
    2. 操作类型(插入、删除或修改)
    3. 操作对象(记录内部标识)
    4. 更新前数据的旧值(对插入操作而言,此项为空值)
    5. 更新后数据的新值(对删除操作而言, 此项为空值)

    以数据块为单位的日志文件,每条日志记录的内容

    1. 事务标识(标明是那个事务)
    2. 被更新的数据块

    登记的次序严格按并行事务执行的时间次序,必须先写日志文件,后写数据库

2. 如何利用这些冗余数据实施数据库恢复

事务故障恢复

由恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改

事务故障的恢复由系统自动完成,对用户是透明的,不需要用户干预

系统故障恢复

Undo 故障发生时未完成的事务

Redo 已完成的事务

系统故障的恢复由系统在重新启动时自动完成,不需要用户干预

介质故障

重装数据库

重做已完成的事务

时间: 2024-07-28 22:25:33

数据库原理-数据恢复的相关文章

数据库原理相关知识

数据库原理相关知识 made by @杨领well([email protected]) 一.基础知识 1. 简述数据库系统的特点. 数据结构化 : 这是数据库系统与文件系统的本质区别. 数据的共享性高.冗余度低且易扩充 : 数据共享可以大大减少数据冗余, 节约存储空间.数据共享还能够避免数据之间的不相容性和不一致性. 数据的独立性高 : 数据独立性包括物理独立性和逻辑独立性. 数据由数据库管理系统统一管理和控制 : 数据的安全性保护(保护数据以防止不合法使用造成的数据泄密和破坏).数据的完整性

数据库原理分析(强烈推荐)

转自:https://blog.csdn.net/ptsx0607/article/details/68941750 一提到关系型数据库,我禁不住想:有些东西被忽视了.关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata .但很少有文章讲解数据库是如何工作的.你可以自己谷歌/百度一下『关系型数据库原理』,看看结果多么的稀少[译者注:百度为您找到相关结果约1,850,000个-] ,而且找到的那些文章都很短.现在如果你查找最近时髦的技术(大数据.NoSQL或J

《数据库原理》复习总结

<数据库原理>复习总结 数据库技术就是主要研究如何科学的组织和存储数据,高效的获取和处理数据,并可以满足用户各种不同的信息需求的技术,因为对数据库技术的需求非常大,所以学习这门课的知识和技术是非常必要的,应熟练弄清,掌握数据,数据管理,数据库,数据模型和概念模型的等专业术语的内涵. 第1章 绪论 1.掌握数据库.数据库管理系统.数据库系统(组成)的概念 2.了解数据库技术发展的三个阶段 3.掌握三级模式及二级映像的概念 4.理解数据库管理系统的主要功能 知识点: 数据:数据库系统研究和处理的对

JAVA-Unit01: 数据库原理 、 SQL(DDL、DML)

Unit01: 数据库原理 . SQL(DDL.DML) SQL语句是不区分大小写的,但是行业里习惯将关键字与分关键字用大小写岔开以提高可读性. SELECT SYSDATE FROM dual DDL语句 数据定义语言 用于操作数据库对象 数据库对象有:表,视图,索引,序列 创建表: CREATE TABLE employee( id NUMBER(4), name VARCHAR2(20), gender CHAR(1), birth DATE, salary NUMBER(6,2), jo

《数据库原理与应用》复习试题归纳

  <数据库原理与应用>复习试题归纳 一.单项选择题(每小题1分,共20分) 1.数据库的三个模式中,真正存储数据的是( )A.内模式  B.模式  C.外模式  D.三者皆存储数据 2.在数据库的三个模式中(  ) A.内模式只有一个,而模式和外模式可以有多个 B.模式只有一个,而内模式和外模式可以有多个 C.模式和内模式只有一个,而外模式可以有多个 D.均只有一个 3.关于模式,下列说法中错误的是(   ) A.数据库的全局逻辑结构描述   B.数据库的框架 C.一组模式的集合      

数据库原理与应用技术,学习笔记

数据库原理与应用技术 苗雪兰,宋歌编著 学习者:何 ◆ 第1章 数据库系统概述 >> 数据库是数据管理的新手段和技术. >> 信息就是新的.有用的事实和知识. >> 数据(Data)是用于承载信息的物理符号. >> 数据不等于信息,数据只是信息表达方式中的一种 >> 数据处理是指对数据的收集.组织.整理.加工.存储和传播等工作. >> 数据管理是其他数据处理的核心和基础. >> 数据库(DataBase,DB)是一个按数据

MySQL数据库原理

我们知道,数据是信息的载体——一种我们约定了如何解释的符号.在计算机系统中,最常见的应该是文本数据.我们用它记录配置信息,写日志,等等.而在应用程序中,按一定的数据结构来组织数据的方式叫做数据库管理系统(DBMS).数据库就是把数据按照一定的规则,有效的组织存放,以提供更高效.更便捷的数据访问和处理.要理解数据库原理,并使用数据库,需要理解三点内容:1>数据库的数据组织的方式:2>数据库的逻辑架构及物理实现:3>数据库客户端的操作方法.也许,对于使用数据库来说,只需要掌握最后一点,即操作

数据库原理与应用 基于SQL Server 2005pdf

下载地址:网盘下载 <数据库原理与应用 基于SQL Server 2005>介绍数据库基本原理,并以sql server 2005为平台介绍数据库管理系统的应用.全书分为3部分,第l-5章介绍数据库的一般原理,第6-18章介绍sql server 2005的数据管理功能,第19-20章介绍以vb作为前端设计工具.以sql server 2005作为数据库平台开发数据库应用系统的技术.本书最后的附录还给出了一个数据库系统设计过程. 本书由浅入深.循序渐进地介绍各个知识点.书中提供了大量例题,有助

数据库原理中的范式

最近关于心里对自考总有一点心不甘!今天想起一直模糊但又好奇的几个范式!想想之前我们提到过好几次.几天把这一部分总结了一下!有点肤浅,我觉得我收获的挺多的.下面用一张图简单说明一下. 对如何判断是否是无损分解弄明白点了.是这样的,一课本上的例子说明一下(P79 例3.11) 设关系模式R(ABCD),R分解成ρ={AB,BC,CD}.如果R上成立的函数依赖集是F1={B→A,C→D},那么ρ相对于F1是否无损分解?如果R上成立的函数依赖集是F2={A→B,C→D}呢? 解释:无损分解就是有一行全是