《数据库恢复》PPT课件
合集下载
第14章 备份和恢复数据库

14.1.1 为什么要进行数据备份?
• 备份数据库的主要目的是为了防止数据的丢失。 • 造成数据丢失的原因包括如下几种情况:
• • • • 由于不准确的更新而造成的数据的不正确; 由于病毒的侵害而造成的数据的丢失或损坏; 存放数据的物理磁盘或机器的损害; 由于自然灾害而造成的损坏。
• 一旦数据库出现问题,可以根据备份对数据库进 行恢复。
t
RESTORE DATABASE 学生管理数据库 FROM MyBK_2 WITH FILE=1, NORECOVERY RESTORE DATABASE 学生管理数据库 FROM MyBK_2 WITH FILE=2, NORECOVERY RESTORE LOG 学生管理数据库 FROM MyBKLog1
完全备份
差异备份
差异备份
Data
Log
Lo
Log
Log
Log
Log
∆
...
Monday
Tuesday
14.1.6 实现备份
• 使用企业管理器备份数据库 • 使用Transact-SQL语句备份数据库 • 备份媒体集
使用企业管理器备份数据库
• 在要备份的数据库上右击鼠标,在弹出的菜单中 选择“所有任务”,然后再选择“备份数据库” 命令。
14.2 恢复数据库
• 14.2.1 恢复前的准备 • 14.2.2 恢复的顺序 • 14.2.3 实现恢复
14.2.1 恢复前的准备 • 设置限制访问数据库选项 • 可能的话备份日志
14.2.2 恢复的顺序
1. 恢复最近的全库备份; 2. 恢复最近的差异备份(如果有); 3. 恢复自差异备份之后的所有日志备 份(按备份的先后顺序)。
高等院校计算机教材系列
数据库原理PPT课件

模式
也称为逻辑模式或概念模 式,定义了数据库中所有 数据的逻辑结构和关系。
内模式
也称为物理模式或存储模 式,描述了数据在物理存 储介质上的组织结构和存 储方式。
数据库管理系统
数据定义语言(DDL)
数据控制语言(DCL)
用于定义数据库中的各种对象,如表、 视图、索引等。
用于控制对数据库中数据的访问权限 和安全控制。
数据库原理ppt课件
目录
• 数据库概述 • 数据库系统结构 • 数据库设计 • 关系数据库 • 数据库管理系统实现技术 • 数据库新技术与发展趋势
01 数据库概述
数据库的定义与作用
数据库的定义
数据库是一个长期存储在计算机 内的、有组织的数据集合,它能 为多种应用提供数据服务。
数据库的作用
数据库用于存储、检索、更新和 管理大量数据,支持企业或组织 的运营和决策。
NoSQL数据库具有可伸缩性强、灵活 性高和可靠性好等优点,可以满足大 规模数据处理和实时分析的需求。
03
NoSQL数据库的挑 战
NoSQL数据库面临着数据一致性、查 询效率和标准化等挑战,需要进一步 研究和标准化工作。
THANKS FOR WATCHING
感谢您的观看
关系数据库标准语言SQL
SQL定义
SQL(Structured Query Language)是用于管理关系数 据库的标准编程语言,它包括数 据查询、数据操作、数据定义等
方面的命令。
SQL的主要功能
SQL的主要功能包括表格的定义 和维护、数据的查询和检索、数 据的插入和更新、数据的删除等。
SQL的特点
数据操纵语言(DML)
用于对数据库中的数据进行查询、插 入、更新和删除等操作。
数据库的备份与恢复

1.备份内容
数据库中数据的重要程度决定了数据恢复的必要与重要性,也就决定 了数据是否及如何备份。
需备份的内容分为数据文件(又分为主要数据文件和次要数据文件)、
日志文件两部分。其中,数据文件中存储的系统数据库是确保SQL Server 系统正常运行的重要依据,必须完全备份。
2.由谁做备份
Use master Go BACKUP DATABASE PXSCJ TO DISK='F:\TMPPXSCJ.BAK'
3.使用多个备份设备 SQL Server可以同时向多个备份设备写入数据,即进行并行的备 份。并行备份将需备份的数据分别备份在多个设备上,这多个备份设备 构成了备份集。如图8.1所示显示了在多个备份设备上进行备份以及由 备份的各组成部分形成备份集。
都要将其备份。 master数据库包含了SQL Server 2008系统有关数据库的全部信息,即它是“数据库 的数据库”,如果master数据库损坏,那么SQL Server可能无法启动,并且用户数据库可 能无效。当master数据库被破坏而没有master数据库的备份时,就只能重建全部的系统数
据库。若要重新生成master数据库,只能使用安装程序来恢复。
(3)差异备份。只备份自上次数据库备份后发生更改的部分数据库, 对于一个经常修改的数据库,采用差异备份策略可以减少备份和恢复时 间。差异备份比全量备份工作量小而且备份速度快,对正在运行的系统 影响也较小,因此可以更经常地备份。经常备份将减少丢失数据的危险。 执行恢复时,若是数据库备份,则用最近的完全数据库备份和最近 的差异数据库备份来恢复数据库;若是差异数据库和事务日志备份,则 需用最近的完全数据库备份和最近的差异备份后的事务日志备份来恢复 数据库。
《数据库基础知识》PPT课件

编写触发器与存储过程
根据业务需求编写触发器和存储过程 ,实现复杂业务逻辑。
监控与优化性能
监控数据库性能,定期进行优化和调 整,确保数据库高效运行。
维护数据安全
定期备份数据、修复损坏数据、防范 恶意攻击等,确保数据安全可靠。
05
索引与查询优化技术
索引基本概念及作用
索引定义
索引是数据库中用于快速查找和检索数据的数据结构。
如在线购物网站、拍卖网站等,需要处理 大量的用户信息和交易数据,数据库可以 提供安全、可靠的数据存储和检索功能。
金融系统
科研领域
如银行、证券、保险等金融机构的信息系 统,需要处理大量的金融数据,数据库可 以提供高效的数据处理和分析功能。
如生物信息学、天文学等科研领域,需要处 理大量的实验数据和观测数据,数据库可以 提供灵活的数据存储和管理功能。
关系完整性约束
完整性约束概念
完整性约束是用来保证数据库中数据的正确性和一致性的规则。在关系模型中,完整性约束包括实体 完整性、参照完整性和用户自定义完整性。
完整性约束类型
实体完整性约束要求关系中的主键属性不能取空值;参照完整性约束要求关系中的外键属性取值必须 对应于另一个关系中的主键取值;用户自定义完整性约束则是根据应用需求定义的其他规则。
03
SQL语言基础
SQL语言简介
01
SQL(Structured Query Language)是一种用于管理关系数 据库管理系统的语言。
02
它包括数据插入、查询、更新和删除,数据库模式创建和修改
,以及数据访问控制。
SQL语言简单易学,是开发和管理数据库系统的标准语言。
03
数据定义语言DDL
DDL(Data Defini对象,如表、 索引、触发器等。
数据库学习ppt课件

数据备份与恢复
定期备份数据库数据,确保在 故障发生时能够快速恢复数据
。
数据库迁移与升级
根据业务需求和技术发展,规 划并执行数据库迁移和升级工 作。
故障排查与处理
对数据库故障进行及时排查和 处理,保障数据库稳定运行。
数据库监控与调优
实时监控数据库运行状态,根 据性能指标进行调优操作,确
保数据库高效运行。
05
数据库管理
数据库的安全管理
访问控制
通过用户身份验证和权限管理,确保只 有授权用户能够访问数据库,并限制其
可执行的操作。
防止SQL注入
对用户输入进行验证和转义处理,避 免恶意用户通过SQL注入攻击数据库
。
数据加密
对敏感数据进行加密存储和传输,以 防止数据泄露和非法访问。
审计和监控
记录数据库操作日志,监控异常行为 和潜在威胁,以便及时响应和处理。
数据库学习ppt课件
目录
• 数据库概述 • 关系数据库 • 数据库设计 • 数据库操作 • 数据库管理 • 数据库应用实例
01
数据库概述
数据库的定义与作用
01
数据库(Database)是按照数据 结构来组织、存储和管理数据的 仓库。
02
数据库的作用:实现数据共享、 减少数据冗余、提高数据独立性 、集中控制、数据一致性和可维 护性等。
物料管理
库存控制、采购计划、供应商管理等
生产计划与控制
生产排程、进度跟踪、质量控制等
社交媒体平台数据库设计
用户信息管理
注册信息、个人简介、好友关系等
内容管理
发布动态、评论、点赞等互动功能
消息推送
系统通知、好友请求、私信等
数据分析
定期备份数据库数据,确保在 故障发生时能够快速恢复数据
。
数据库迁移与升级
根据业务需求和技术发展,规 划并执行数据库迁移和升级工 作。
故障排查与处理
对数据库故障进行及时排查和 处理,保障数据库稳定运行。
数据库监控与调优
实时监控数据库运行状态,根 据性能指标进行调优操作,确
保数据库高效运行。
05
数据库管理
数据库的安全管理
访问控制
通过用户身份验证和权限管理,确保只 有授权用户能够访问数据库,并限制其
可执行的操作。
防止SQL注入
对用户输入进行验证和转义处理,避 免恶意用户通过SQL注入攻击数据库
。
数据加密
对敏感数据进行加密存储和传输,以 防止数据泄露和非法访问。
审计和监控
记录数据库操作日志,监控异常行为 和潜在威胁,以便及时响应和处理。
数据库学习ppt课件
目录
• 数据库概述 • 关系数据库 • 数据库设计 • 数据库操作 • 数据库管理 • 数据库应用实例
01
数据库概述
数据库的定义与作用
01
数据库(Database)是按照数据 结构来组织、存储和管理数据的 仓库。
02
数据库的作用:实现数据共享、 减少数据冗余、提高数据独立性 、集中控制、数据一致性和可维 护性等。
物料管理
库存控制、采购计划、供应商管理等
生产计划与控制
生产排程、进度跟踪、质量控制等
社交媒体平台数据库设计
用户信息管理
注册信息、个人简介、好友关系等
内容管理
发布动态、评论、点赞等互动功能
消息推送
系统通知、好友请求、私信等
数据分析
数据库的ppt课件

也称为物理模式或存储模式,是数据 的物理结构和存储方式的描写。它由 内模式定义语言定义,并由数据库管 理员管理和控制。
模式
也称为逻辑模式或概念模式,是数据 库中全部数据的逻辑结构和特征的描 写。它由模式定义语言定义,并由数 据库管理员管理和控制。
数据库管理系统(DBMS)的功能
数据定义语言(DDL):用于定义数据 库的三级模式结构,包括创建、修改和 删除数据库、表等对象。
关系数据库系统的管理
关系数据库系统的管理包括数据管理、安全管理、性能管理等方面,目 的是确保关系数据库系统的正常运行和持续改进。
03
关系数据库系统的工具与技术
关系数据库系统的工具与技术包括数据库管理系统(DBMS)、SQL语
言、存储进程、触发器等,这些工具与技术可以帮助开发人员和管理员
更高效地管理和保护关系数据库系统。
ห้องสมุดไป่ตู้
数据库的安全策略与机制
访问控制
身份认证
通过设置访问控制策略,限制对数据库的 访问权限,只允许授权用户访问和操作数 据库中的数据。
通过身份认证机制,对访问数据库的用户 进行身份验证,确保只有经过授权的用户 才能访问数据库。
数据加密
安全审计
对数据库中的敏捷数据进行加密存储,即 使数据被窃取或泄露,也无法被未经授权 的访问者轻易解密和使用。
数据库设计的进程与方法
数据库设计的进程
数据库设计的进程包括需求分析、概念设计、逻辑设计和物 理设计四个阶段。每个阶段都有其特定的任务和输出。
数据库设计的方法
常见的数据库设计方法有自底向上、自顶向下和逐步扩大法 等。自底向上法从数据模型动身,逐步抽象出概念模型;自 顶向下法则从概念模型动身,逐步求精到数据模型。
第13章 数据库备份和恢复

昌吉学院计算机系
13.1.1 概述
1. 备份设备 • 数据库备份设备是指用来存储备份数据的存储介质, 常用的备份设备类型包括磁盘、磁带和命名管道。 • 磁盘:以硬盘或其它磁盘类设备为存储介质。磁盘备 份设备就可以存储在本地机器上,也可以存储在网络 的远程磁盘上。如果数据备份存储在本地机器上,在 由于存储介质故障或服务器崩溃而造成数据丢失的情 况下,备份就没有意义了。因此,要及时将备份文件 复制到远程磁盘上。如果采用远程磁盘作为备份设备, 要采用统一命名方式(UNC)来表示备份文件,即 “\\远程服务器名\共享文件名\路径名\文件名”。 • 磁带:使用磁带作为存储介质,必须将磁带物理地安 装在运行SQL Server的计算机上,磁带备份不支持网 络远程备份。在 SQL Server 的以后版本中将不再支 持磁带备份设备。 • 命名管道:微软专门为第三方软件供应商提供的一个 备份和恢复方式。如果要将数据库备份到命名管道设 备上,必须提供管道名。
昌吉学院计算机系
2. 备份方式 • 数据备份的范围可以是完整的数据库、部分数 据库或者一组文件或文件组,对此,SQL Server 2008提供四种备份方式,以满足不同数 据库系统的备份需求。 1)完整备份 • 完整备份是指备份整个数据库,不仅包括表、 视图、存储过程和触发器等数据库对象,还包 括能够恢复这些数据的足够的事务日志。完整 备份的优点是操作比较简单,在恢复时只需要 一步就可以将数据库恢复到以前的状态。但是 仅依靠完整备份只能将数据库恢复到上一次备 份操作结束时的状态,而从上次备份结束以后 到数据库发生意外时的数据库的一切操作都将 丢失。而且,因为完整备份对整个数据库进行 备份,执行一次完整备份需要很大的磁盘空间 和较长的时间,因此完整备份不能频繁地进行。
昌吉学院计算机系
13.1.1 概述
1. 备份设备 • 数据库备份设备是指用来存储备份数据的存储介质, 常用的备份设备类型包括磁盘、磁带和命名管道。 • 磁盘:以硬盘或其它磁盘类设备为存储介质。磁盘备 份设备就可以存储在本地机器上,也可以存储在网络 的远程磁盘上。如果数据备份存储在本地机器上,在 由于存储介质故障或服务器崩溃而造成数据丢失的情 况下,备份就没有意义了。因此,要及时将备份文件 复制到远程磁盘上。如果采用远程磁盘作为备份设备, 要采用统一命名方式(UNC)来表示备份文件,即 “\\远程服务器名\共享文件名\路径名\文件名”。 • 磁带:使用磁带作为存储介质,必须将磁带物理地安 装在运行SQL Server的计算机上,磁带备份不支持网 络远程备份。在 SQL Server 的以后版本中将不再支 持磁带备份设备。 • 命名管道:微软专门为第三方软件供应商提供的一个 备份和恢复方式。如果要将数据库备份到命名管道设 备上,必须提供管道名。
昌吉学院计算机系
2. 备份方式 • 数据备份的范围可以是完整的数据库、部分数 据库或者一组文件或文件组,对此,SQL Server 2008提供四种备份方式,以满足不同数 据库系统的备份需求。 1)完整备份 • 完整备份是指备份整个数据库,不仅包括表、 视图、存储过程和触发器等数据库对象,还包 括能够恢复这些数据的足够的事务日志。完整 备份的优点是操作比较简单,在恢复时只需要 一步就可以将数据库恢复到以前的状态。但是 仅依靠完整备份只能将数据库恢复到上一次备 份操作结束时的状态,而从上次备份结束以后 到数据库发生意外时的数据库的一切操作都将 丢失。而且,因为完整备份对整个数据库进行 备份,执行一次完整备份需要很大的磁盘空间 和较长的时间,因此完整备份不能频繁地进行。
昌吉学院计算机系
MySQL 数据库基础与应用 第11章 备份和恢复

MySQL 数据库基础与应用
5
11.2 导出表数据和备份数据
ESCAPED BY子句用来指定转义字符,例如,“ESCAPED BY '*'”将“*”指定为转义字符,取代“\”,如空格将表示为“*N”。
● LINES子句:在LINES子句中使用TERMINATED BY指定一行 结束的标志,如“LINES TERMINATED BY '?'”表示一行以“?”作为 结束标志。
语法格式:
SELECT columnist FROM table WHERE condition INTO OUTFILE 'filename' [OPTIONS]
其中,OPTIONS的语法格式:
FIELDS TERMINATED BY 'value' FIELDS [OPTIONALLY] ENCLOSED BY 'value' FIELDS ESCAPED BY 'value' LINES STARTING BY 'value' LINES TERMINATED BY 'value'
MySQL 数据库基础与应用
6
11.2 导出表数据和备份数据
【例11.1】将sales数据库中的goods表中数据备份到指定目录: C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/,要求字段值如果是字 符就用“”””标注,字段值之间用“,”隔开,每行以“?”为结束标志。
MySQL 数据库基础与应用
3
11.2 导出表数据和备份数据
11.2.1 导出表数据
使用SELECT…INTO OUTFILE语句可以导出表数据的文本文 件。可以使用LOAD DATA INFILE语句恢复先前导出的表数据。 但SELECT…INTO OUTFILE只能导出或导入表的数据内容,而不 能导出表结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库系统运行中发生故障,有些事务尚未 完成就被迫中断,这些未完成事务对数据库 所做的修改有一部分已写入物理数据库中
14
一致性(续)
一致性与原子性是密切相关的。
例:银行转帐:从帐号A中取出一万元,存入帐号B。 定义一个事务,该事务包括两个操作
第一个操作是从帐号A中减去一万元 第二个操作是向帐号B中加入一万元
11
三、事务的特性(ACID特性)
事务的ACID特性:
原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability )
12
1. 原子性
事务是数据库的逻辑工作单位
事务中包括的诸操作要么都做,要么都不做
13
2. 一致性
事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态。 一致性状态:数据库中只包含成功事务提交的结果 不一致状态:数据库中包含失败事务的结果
9
如何定义事务(续)
显式定义事务(续)
2. 事务结束(2) ROLLBACK
事务异常终止 回滚事务的所有操作
在事务运行的过程中发生了某种故障, 事务不能继续执行
系统将事务中对数据库的所有已完成 的更新操作全部撤消,滚回到事务开 始时的状态
10
10.1 事务的基本概念
一、什么是事务 二、如何定义事务 三、事务的特性
16
4. 持续性
持续性也称永久性(Permanence) 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。 接下来的其他操作或故障不应该对其执行结果有任何影响。
17
事务的特性(续)
保证事务ACID特性是事务处理的重要任务。 破坏事务ACID特性的因素
多个事务并行运行时,不同事务的操作交叉执行
33
介质故障(续)
介质故障的恢复
装入数据库发生介质故障前某个时刻的数据副本 重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据
库
34
故障的种类小结
数据库系统中各类故障对数据库的影响 数据库本身被破坏(介质故障) 数据库处于不一致状态
数据库中包含了未完成事务对数据库的修改 (事务故障、系统故障)
1.静态转储与动态转储
静态转储
静态转储是在系统中无运行事务时进行的转储操作
转储操作开始的时刻,数据库处于一致性状 态
转储期间不允许(或不存在)对数据库的任 何存取、修改活动
静态转储得到的一定是一个数据一致性的副本
49
静态转储与动态转储(续)
静态转储的优点
实现简单
静态转储的缺点
降低了数据库的可用性 转储必须等待用户事务结束才能进行 新的事务必须等待转储结束才能执行
隐式方式
当用户没有显式地定义事务时,由DBMS按缺 省规定自动划分事务
7
如何定义事务(续)
显式定义事务
1. 事务开始 BEGIN TRANSACTION
8
如何定义事务(续)
显式定义事务(续)
2. 事务结束(1) COMMIT
事务正常结束 提交事务的所有操作
使事务中所有对数据库的更新永久生 效(保存在物理数据库中)。
36
第十章 数据库恢复技术
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
37
10.4 恢复的实现技术
恢复技术的原理
利用存储在系统其它地方的冗余数据来修复或重建 数据库中被破坏的或不正确的数据。
数据库中丢失了已提交事务对数据库的修改 (系统故障)
不同类型的故障应采用不同的恢复操作
35
故障的种类小结(续)
恢复操作的基本原理:简单 任何恢复操作的原理都是一样的 原理:利用存储在系统其它地方的冗余数据来重建数据库中已经被破坏 或已经不正确的那部分数据
恢复的实现技术:复杂 一般一个大型数据库产品,恢复子系统的代码要占全部代码的10%以上
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
22
10.3 故障的种类
事务故障 系统故障 介质故障
23
10.3 故障的种类
事务故障 系统故障 介质故障
运行事务
↓
─┼───────┼─────────────
Ta
Tb
Tf
恢复
重装后备副本 重新运行事务 ────────┴------------→
46
10.4.1 数据转储
一、什么是转储 二、转储的用途 三、转储方法
47
三、转储方法
1.静态转储与动态转储 2.海量转储与增量转储 3.转储方法小结
48
44
二、转储的用途
用途:供介质故障恢复时使用
一旦系统发生介质故障,数据库遭到破坏,可以将后备副本重新装入, 把数据库恢复起来。
恢复的程度
重装后备副本只能将DB恢复到转储时的状态 要想恢复到故障发生时的状态,必须重新运行自转储以后的所有更新
事务
45
转储的用途(续)
例:
正常运行
故障发生点
转储
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
19
10.2 数据库恢复概述
故障是不可避免的
计算机硬件故障 系统软件和应用软件的错误 操作员的失误 恶意的破坏
故障的影响
轻则造成运行事务非正常中断,影响数据库中数据的 正确性
重则破坏数据库,使数据库中数据部分或全部丢失。 例,银行转帐。
20
数据库恢复概述(续)
数据库管理系统对故障的对策
DBMS提供了恢复子系统,用来保证各种故障发生后,能把数据库中的数 据从错误状态恢复到某种逻辑一致的状态。即保证各个事务中的操作要 么全部完成,要么全部不做。
数据库系统所采用的恢复技术是否行之有效是衡 量系统性能优劣的重要指标。
21
第十章 数据库恢复技术
需要把动态转储期间各事务对数据库的修改 活动登记下来,建立日志文件
后备副本加上日志文件才能把数据库恢复到 某一时刻的正确状态
54
利用动态转储副本进行恢复
正常运行
Ta
Tb
Tf
动态转储
运行事务
故障发生点
─┼───────┼─────────────
登记日志文件 登记新日志文件
─────────┼─────────────
恢复机制涉及的关键问题
1. 如何建立冗余数据
数据转储 登记日志文件
2. 如何利用这些冗余数据实施数据库恢复
38
10.4 恢复的实现技术
10.4.1 数据转储 10.4.2 登记日志文件
39
10.4 恢复的实现技术
10.4.1 数据转储 10.4.2 登记日志文件
40
10.4.1 数据转储
发生系统故障时,内存中数据库缓冲区的信息全部丢失,但存储在外部 存储设备上的数据未受影响
28
系统故障(续)
系统故障的常见原因
操作系统或DBMS代码错误 操作员操作失误 特定类型的硬件错误(如CPU故障) 突然停电
29
系统故障(续)
系统故障的恢复
1. 清除尚未完成的事务对数据库的所有修改
这两个操作要么全做,要么全不做
全做或者全不做,数据库都处于一致பைடு நூலகம்状态。 如果只做一个操作则用户逻辑上就会发生错误,少了一万元,
这时数据库就处于不一致性状态。
15
3. 隔离性
一个事务的执行不能被其他事务干扰 一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行 的各个事务之间不能互相干扰。
恢复程序要在不影响其它事务运行的情况下, 强行回滚(ROLLBACK)该事务,即清除该事 务对数据库的所有修改,使得这个事务象根 本没有启动过一样
26
10.3 故障的种类
事务故障 系统故障 介质故障
27
二、系统故障
什么是系统故障
由于某种原因造成整个系统的正常运行突然停止,致使所有正在运行的 事务都以非正常方式终止。
一、什么是转储 二、转储的用途 三、转储方法
41
10.4.1 数据转储
一、什么是转储 二、转储的用途 三、转储方法
42
一、什么是转储
转储是指DBA将整个数据库复制到磁带或另一个磁 盘上保存起来的过程。
这些备用的数据文本称为后备副本或后援副本。
43
10.4.1 数据转储
一、什么是转储 二、转储的用途 三、转储方法
50
静态转储与动态转储(续)
利用静态转储得到的副本进行故障恢复
只需要把静态转储得到的后备副本装入,就 能把数据库恢复到转储时刻的正确状态
51
利用静态转储副本进行恢复
↓
正常运行
静态转储
故障发生点 运行事务
─┼───────┼─────────────
Ta
Tb
Tf
恢复
重装后备副本
━━━━━━┥
52
转储日志文件
恢复到一 致性状态
重装后备副本,然后利用转储的日志文件恢复
━━━━━━┥
55
2.海量转储与增量转储
海量转储
每次转储全部数据库
增量转储
只转储上次转储后更新过的数据
海量转储与增量转储比较
从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便 但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有
14
一致性(续)
一致性与原子性是密切相关的。
例:银行转帐:从帐号A中取出一万元,存入帐号B。 定义一个事务,该事务包括两个操作
第一个操作是从帐号A中减去一万元 第二个操作是向帐号B中加入一万元
11
三、事务的特性(ACID特性)
事务的ACID特性:
原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability )
12
1. 原子性
事务是数据库的逻辑工作单位
事务中包括的诸操作要么都做,要么都不做
13
2. 一致性
事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态。 一致性状态:数据库中只包含成功事务提交的结果 不一致状态:数据库中包含失败事务的结果
9
如何定义事务(续)
显式定义事务(续)
2. 事务结束(2) ROLLBACK
事务异常终止 回滚事务的所有操作
在事务运行的过程中发生了某种故障, 事务不能继续执行
系统将事务中对数据库的所有已完成 的更新操作全部撤消,滚回到事务开 始时的状态
10
10.1 事务的基本概念
一、什么是事务 二、如何定义事务 三、事务的特性
16
4. 持续性
持续性也称永久性(Permanence) 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。 接下来的其他操作或故障不应该对其执行结果有任何影响。
17
事务的特性(续)
保证事务ACID特性是事务处理的重要任务。 破坏事务ACID特性的因素
多个事务并行运行时,不同事务的操作交叉执行
33
介质故障(续)
介质故障的恢复
装入数据库发生介质故障前某个时刻的数据副本 重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据
库
34
故障的种类小结
数据库系统中各类故障对数据库的影响 数据库本身被破坏(介质故障) 数据库处于不一致状态
数据库中包含了未完成事务对数据库的修改 (事务故障、系统故障)
1.静态转储与动态转储
静态转储
静态转储是在系统中无运行事务时进行的转储操作
转储操作开始的时刻,数据库处于一致性状 态
转储期间不允许(或不存在)对数据库的任 何存取、修改活动
静态转储得到的一定是一个数据一致性的副本
49
静态转储与动态转储(续)
静态转储的优点
实现简单
静态转储的缺点
降低了数据库的可用性 转储必须等待用户事务结束才能进行 新的事务必须等待转储结束才能执行
隐式方式
当用户没有显式地定义事务时,由DBMS按缺 省规定自动划分事务
7
如何定义事务(续)
显式定义事务
1. 事务开始 BEGIN TRANSACTION
8
如何定义事务(续)
显式定义事务(续)
2. 事务结束(1) COMMIT
事务正常结束 提交事务的所有操作
使事务中所有对数据库的更新永久生 效(保存在物理数据库中)。
36
第十章 数据库恢复技术
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
37
10.4 恢复的实现技术
恢复技术的原理
利用存储在系统其它地方的冗余数据来修复或重建 数据库中被破坏的或不正确的数据。
数据库中丢失了已提交事务对数据库的修改 (系统故障)
不同类型的故障应采用不同的恢复操作
35
故障的种类小结(续)
恢复操作的基本原理:简单 任何恢复操作的原理都是一样的 原理:利用存储在系统其它地方的冗余数据来重建数据库中已经被破坏 或已经不正确的那部分数据
恢复的实现技术:复杂 一般一个大型数据库产品,恢复子系统的代码要占全部代码的10%以上
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
22
10.3 故障的种类
事务故障 系统故障 介质故障
23
10.3 故障的种类
事务故障 系统故障 介质故障
运行事务
↓
─┼───────┼─────────────
Ta
Tb
Tf
恢复
重装后备副本 重新运行事务 ────────┴------------→
46
10.4.1 数据转储
一、什么是转储 二、转储的用途 三、转储方法
47
三、转储方法
1.静态转储与动态转储 2.海量转储与增量转储 3.转储方法小结
48
44
二、转储的用途
用途:供介质故障恢复时使用
一旦系统发生介质故障,数据库遭到破坏,可以将后备副本重新装入, 把数据库恢复起来。
恢复的程度
重装后备副本只能将DB恢复到转储时的状态 要想恢复到故障发生时的状态,必须重新运行自转储以后的所有更新
事务
45
转储的用途(续)
例:
正常运行
故障发生点
转储
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
19
10.2 数据库恢复概述
故障是不可避免的
计算机硬件故障 系统软件和应用软件的错误 操作员的失误 恶意的破坏
故障的影响
轻则造成运行事务非正常中断,影响数据库中数据的 正确性
重则破坏数据库,使数据库中数据部分或全部丢失。 例,银行转帐。
20
数据库恢复概述(续)
数据库管理系统对故障的对策
DBMS提供了恢复子系统,用来保证各种故障发生后,能把数据库中的数 据从错误状态恢复到某种逻辑一致的状态。即保证各个事务中的操作要 么全部完成,要么全部不做。
数据库系统所采用的恢复技术是否行之有效是衡 量系统性能优劣的重要指标。
21
第十章 数据库恢复技术
需要把动态转储期间各事务对数据库的修改 活动登记下来,建立日志文件
后备副本加上日志文件才能把数据库恢复到 某一时刻的正确状态
54
利用动态转储副本进行恢复
正常运行
Ta
Tb
Tf
动态转储
运行事务
故障发生点
─┼───────┼─────────────
登记日志文件 登记新日志文件
─────────┼─────────────
恢复机制涉及的关键问题
1. 如何建立冗余数据
数据转储 登记日志文件
2. 如何利用这些冗余数据实施数据库恢复
38
10.4 恢复的实现技术
10.4.1 数据转储 10.4.2 登记日志文件
39
10.4 恢复的实现技术
10.4.1 数据转储 10.4.2 登记日志文件
40
10.4.1 数据转储
发生系统故障时,内存中数据库缓冲区的信息全部丢失,但存储在外部 存储设备上的数据未受影响
28
系统故障(续)
系统故障的常见原因
操作系统或DBMS代码错误 操作员操作失误 特定类型的硬件错误(如CPU故障) 突然停电
29
系统故障(续)
系统故障的恢复
1. 清除尚未完成的事务对数据库的所有修改
这两个操作要么全做,要么全不做
全做或者全不做,数据库都处于一致பைடு நூலகம்状态。 如果只做一个操作则用户逻辑上就会发生错误,少了一万元,
这时数据库就处于不一致性状态。
15
3. 隔离性
一个事务的执行不能被其他事务干扰 一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行 的各个事务之间不能互相干扰。
恢复程序要在不影响其它事务运行的情况下, 强行回滚(ROLLBACK)该事务,即清除该事 务对数据库的所有修改,使得这个事务象根 本没有启动过一样
26
10.3 故障的种类
事务故障 系统故障 介质故障
27
二、系统故障
什么是系统故障
由于某种原因造成整个系统的正常运行突然停止,致使所有正在运行的 事务都以非正常方式终止。
一、什么是转储 二、转储的用途 三、转储方法
41
10.4.1 数据转储
一、什么是转储 二、转储的用途 三、转储方法
42
一、什么是转储
转储是指DBA将整个数据库复制到磁带或另一个磁 盘上保存起来的过程。
这些备用的数据文本称为后备副本或后援副本。
43
10.4.1 数据转储
一、什么是转储 二、转储的用途 三、转储方法
50
静态转储与动态转储(续)
利用静态转储得到的副本进行故障恢复
只需要把静态转储得到的后备副本装入,就 能把数据库恢复到转储时刻的正确状态
51
利用静态转储副本进行恢复
↓
正常运行
静态转储
故障发生点 运行事务
─┼───────┼─────────────
Ta
Tb
Tf
恢复
重装后备副本
━━━━━━┥
52
转储日志文件
恢复到一 致性状态
重装后备副本,然后利用转储的日志文件恢复
━━━━━━┥
55
2.海量转储与增量转储
海量转储
每次转储全部数据库
增量转储
只转储上次转储后更新过的数据
海量转储与增量转储比较
从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便 但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有