故障管理
四大类故障:事务内部故障,系统故障,介质故障,计算机病毒故障
事物内部:分为预期与非预期故障,需要强制回滚事物恢复状态,自动完成且透明
系统故障:软故障,因为软件意外导致非正常终止,影响所有事物,导致易失性存储器内容丢失,需要回滚所有未完成事务结果
介质故障:硬故障,因为物理意义意外导致数据库数据丢失,采用备份(有局限性)和双物理存储设备,双系统方式进行保存
病毒:杀死程序或备份文件
恢复重点:建立冗余数据并进行恢复
数据转储:即备份
静态转储:不运行其他事物,不存取,修改(一致性),降低可用性
动态转储:允许存取修改,不保证一致性
转储机制:完全转储(所有数据),占用多但恢复时间短
增量存储,只复制上次转储变化的文件与数据块,需时短需空间小但数据只能和完全转储配合,恢复比完全长
差量存储,对最近一次库完全转储以来的变化进行转储,比完全速度快空间小,比增量恢复快但速度慢,占空间多
结合使用:完全+增量,差量
日志文件:记录修改操作,帮助恢复
具体作用:事务故障恢复,系统故障恢复,动态转储,静态转储
undo与redo:前者反向扫描,找到回滚事务并逆操作直到遇到开始记录,后者正向扫描到提交记录
事务仅需undo,系统故障先undo再redo
格式与内容:两种格式:以记录/数据块为单位
前者包括开始结束两个标记及所有修改操作,后者包括标识和数据块
登记原则:次序严格按并行事务执行的时间次序,必须先写日志再写库,保证可再现性和正确性
检查点:最大程度减少数据库完全恢复必须执行的日志部分
内容包括清单与最后日志地址
恢复步骤:找最后一个检查点记录,得到此时事物清单,建立undo,redo队列,正向扫描
硬件容错方案:硬件部分对数据库进行保护
磁盘保护技术:raid系统(廉价冗余磁盘阵列),保证个别驱动器失效时数据仍然可访问
主要由镜像冗余和校验冗余保证
分级:raid0,1,5,10等
0:数据分块并行写入,提高速度但介质故障时数据无法恢复
1:硬盘互为镜像,可靠性提高但利用率低,写速度不变
5:比0多加一个奇偶校验和
10:0,1结合
raid可分为软(件)raid与硬(件)raid,后者较多因为其性能更强
容错技术:保证服务器可靠性,一般使用两台相同的服务器,共享存储设备
接管过程:正常用主,主出事就转用副
脑裂:主副都没事但检测系统故障导致判定主出事导致互抢资源(现在运用多种检测方式)
数据库镜像与容灾:
镜像:提高数据库可用性保证互相监管,提供完整冗余,提高可用性
分为双机互备援模式与双机热备份模式
前者两台工作机后者一工作一备份
工作方式:互补,可用于并发
SQL数据库镜像只用于错误回复,可引入见证服务器(判定恢复)
两种镜像运行模式:高安全性,高性能