恢复的基本原则和方法 基本原则:冗余,重复存储。 方法: (1)周期备份后备副本,对整个DB进行拷贝; (2)建日志,每一次更改作记录; (3)处理: DB已被破坏,先装入备份,再利用两个状态间的 日志作恢复; 如果是错误数据,则可利用日志恢复
恢复的基本原则和方法 基本原则:冗余,重复存储。 方法: (1)周期备份后备副本,对整个DB进行拷贝; (2)建日志,每一次更改作记录; (3)处理: DB已被破坏,先装入备份,再利用两个状态间的 日志作恢复; 如果是错误数据,则可利用日志恢复
使用日志的数据库恢复技术 日志:日志是记录事务对DB操作的相关信息 基于记录项日志,一般记录更新操作(插入、删除、 修改),包含修改数据项的新值、旧值: <T. Start> <T,X,Ⅵ1,V2〉(事务,数据项,旧 值,新值) <T Commit>
使用日志的数据库恢复技术 日志 :日志是记录事务对DB操作的相关信息。 基于记录项日志,一般记录更新操作(插入、删除、 修改),包含修改数据项的新值、旧值: <T, Start> <T, X, V1, V2> (事务,数据项,旧 值,新值) <T, Commit>
推迟更新技术 1日志记录 (1)事务所有数据库更新操作推迟到提交时执行,先 写日志,最后统一更新; (2)事务所有更新记录必须先写入日志,才能达到提 交点 2故障后恢复: (1)Redo(T)操作:对于<T,X,V1,V2>日志, 将X值改为V2 幂等性:redo(redo..redo(T).)=redo(T 多次操作和一次操作效果一样
推迟更新技术 1 日志记录 (1)事务所有数据库更新操作推迟到提交时执行,先 写日志,最后统一更新; (2)事务所有更新记录必须先写入日志,才能达到提 交点。 2 故障后恢复: (1)Redo(T)操作:对于<T, X, V1,V2>日志, 将X值改为V2; 幂等性:redo ( redo…redo(T)..)= redo(T) 多次操作和一次操作效果一样
恢复过程: 1)扫描日志,建立提交事务表,未提交事 务表; (2)对于提交事务表中所有事务T,按在日志 中顺序正向执行redo(T) (3)对于未提交事务表中事务T,放弃T,从日志中 删除
恢复过程: (1)扫描日志,建立提交事务表,未提交事 务表; (2)对于提交事务表中所有事务T,按在日志 中顺序正向执行redo(T); (3)对于未提交事务表中事务T,放弃T,从日志中 删除
即时更新技术 1日志记录 (1)先写日志,再更新,边记边写; (2)事务所有更新日志均已记录,才允许提交 2故障后恢复 (1)undo(T)操作,满足幂等性,redo逆操作: 反向扫描日志,对于<T,X,VⅥ1,V2>记录,将X值改为V 对已插入的新记录进行删除操作,对已删除的进行插入 操作,对修改的数据恢复旧值
即时更新技术 1 日志记录 (1)先写日志,再更新,边记边写; (2)事务所有更新日志均已记录,才允许提交。 2 故障后恢复 (1)undo(T)操作,满足幂等性,redo逆操作: 反向扫描日志,对于<T, X, V1,V2>记录,将X值改为V1; 对已插入的新记录进行删除操作,对已删除的进行插入 操作,对修改的数据恢复旧值