第十章
2017-01-02 16:38:41 0 举报
AI智能生成
第十章,是全书的转折点。主角们经历了一系列的挑战和困难,终于到达了他们的目标地点。然而,他们发现真相并非他们所想象的那样。原本以为的胜利,变成了新的困境。他们必须面对更强大的敌人,更大的挑战。这一章充满了紧张和刺激,让人无法停止阅读。主角们的勇敢和智慧,以及他们对正义的坚持,让人深受感动。虽然面临困境,但他们并没有放弃,而是选择了继续前进。这一章也为接下来的故事埋下了伏笔,让人期待接下来的情节。
作者其他创作
大纲/内容
2.数据库恢复的必要性
故障是不可避免的
计算机硬件的故障
系统软件和应用软件的错误
操作员的失误
恶意破坏
故障的影响
运行事务非正常中断
破坏数据库
故障的种类
系统故障
事务内部的故障
存储设备的故障
其他
对策
恢复子系统
从错误状态恢复到逻辑一致的状态
保证ACID
恢复技术是衡量系统优劣的重要指标
4.恢复的实现技术
基本原理
数据冗余
实现技术
复杂
关键问题
如何建立冗余数据
数据转储
登记日志文件
如何利用冗余数据实施数据库恢复
5.数据转储和恢复
转储
DBA将整个数据库复制到另一存储设备保存起来的过程
备用的数据→后备副本或后援副本
转储方法
分类1
静态转储
特点
无运行事务时进行转储
转储开始时数据库处于一致性状态
转储期间不允许任何存取、修改活动
优缺点
优点
实现简单
缺点
降低了数据库的可用性
转储必须等事务结束
新的事务必须等转储结束
动态转储
特点
转储期间与用户事务并发进行
转储期间允许存取、修改活动
优缺点
优点
不用等待正在运行的用户事务结束
新的事务不用等待转储结束
缺点
不能保证副本中的数据正确有效
需要后备副本+日志文件
分类2
海量转储
每次转储全部数据库
增量转储
只转储上次转储后更新的数据
6.基于日志的数据库恢复
日志文件
格式
以记录为单位
以数据块为单位
内容
事务开始标志
事务结束标志
事务的所有更新操作
与事务有关的内部更新操作
日志文件中的一个日志记录
以记录为单位
事务标志
操作类型
操作对象
更新前数据的旧值
更新后数据的新值
以数据块为单位
事务标志
操作对象
更新前数据块的旧值
更新后数据块的新值
作用
事务故障恢复
系统故障恢复
与后备副本结合进行介质故障恢复
登记日志文件
原则
登记日志文件的次序必须严格按照并行事务执行的次序
必须先写日志文件,再写数据库
恢复技术
REDO技术
UNDO技术
8.数据库镜像恢复技术
数据库镜像
不同设备存在两份同样的数据库
主设备更新时,系统自动更新镜像设备
两份数据始终保持一致
数据库镜像的用途
出现介质故障时
镜像设备可继续提供使用
DBMS利用镜像数据进行恢复
不需要关闭系统和重装数据库副本
没有出现故障时
可用于并发操作
1.事务
基本概念
用户定义的数据库操作序列
恢复和并发控制的基本单位
要么全做,要么不做
如何定义
显式定义
BEGIN TRANSACTION ... COMMIT
事务正常结束
BEGIN TRANSACTION ... ROLLBACK
事务异常终止
隐式定义
特征
ACID
原子性
一致性
隔离性
持久性
状态
活动状态
部分提交状态
失败状态
中止状态
提交状态
3.数据库恢复策略
事务故障的恢复
原因
输入数据有误
运算溢出
违反了某些完整性限制
某些应用程序出错
并行事务出现死锁
恢复
利用日志文件撤销(UNDO)
系统自动完成
步骤
反向扫描文件日志,查找更新操作
执行更新操作的逆操作
继续扫描,查找更新操作,做同样处理
直至读到事务的开始标记
系统故障的恢复
原因
操作系统或DBMS代码出错
操作员的失误
特定的硬件故障
突然停电
造成数据库不一致的原因
一些未完成事务的更新已写入数据库
一些已提交事务的更新还停留在缓冲区,未写入数据库
恢复
UNDO
未完成
REDO
已完成
系统自动完成
步骤
正向扫描日志文件
UNDO队列
REDO队列
对UNDO队列进行UNDO处理
反向扫描日志文件
执行更新操作的逆操作
对REDO队列进行REDO处理
正向扫描日志文件
重新执行操作
介质故障的恢复
原因
硬件故障
磁盘损害
磁头碰撞
操作系统的某种潜在错误
瞬时强磁场干扰
恢复
步骤
装入故障前某时刻数据库的副本
重做备份后的所有成功事务,将结果写入数据库
需要DBA介入
7.检查点恢复技术
提出
问题
搜索整个日志,浪费大量时间
REDO处理,重新执行,浪费大量时间
解决方法
检查点恢复技术
提高系统故障恢复的效率
检查点技术
日志文件中增加检查点记录
检查点记录的内容
检查点时刻所有正在执行的事务清单
这些事务最近一个日志记录的地址
建立检查点
定期
不定期
增加重新开始文件
记录各个检查点记录在日志文件中的地址
在登记日志文件期间动态地维护日志
写检查点的步骤
日志缓冲区中的数据写入日志文件
在日志文件中写入一个检查点记录
把数据库缓冲区的内容写入数据库
把检查点记录在日志文件中的地址写入重新开始文件
恢复策略
改善恢复效率
故障点未完成→UNDO
检查点前提交→不执行REDO
检查点后提交→执行REDO
恢复步骤
通过重新开始文件找到最后一个检查点记录
得到检查点建立时正在执行的事务清单,放入UNDO队列
从检查点正向扫描日志文件,直到日志文件结束
新开始的事务,放入UNDO队列
提交的事务,从UNDO队列移到REDO队列
UNDO队列执行UNDO操作,REDO队列执行REDO操作
9.SQL Server恢复机制
事务
运行模式
自动提交事务
显式事务
隐式事务
定义事务
开始
提交
回滚
隐式事务
默认关闭
SET IMPLICIT_TRANSACTIONS ON 打开
备份和恢复
备份
方法
完整备份
差异备份
日志备份
文件或文件组备份
备份策略
完整备份策略
海量转储
完整备份和日志备份策略
定期进行完整备份
更频繁的进行日志备份
差异备份策略
文件或文件组备份策略
恢复
恢复模型
简单恢复
日志备份和文件或文件组备份不适用
完整恢复
大容量日志记录恢复
0 条评论
下一页
为你推荐
查看更多