数据库恢复的几种方式 一、崩溃恢复 1. 工作原理 从数据库日志控制文件中获取不一致起点信息,并根据日志内容对所有在不一致起点后成功提交事务进行再应用,而对其他未完成的事务进行回滚,从而把数据库带回可用、一致状态。 2. 执行方式(假设数据库已处于不可用、不一致状态) A.自动 - 数据库参数AUTORESTART=ON(缺省)。应用程序连接将导致数据库重新启动而完成崩溃恢复。 B.手动 - 数据库参数AUTORESTART=OFF。这时需要手动执行重起数据库命令 restart database。如果在崩溃前数据库I/O 已处于写暂停状态(通常用在镜像分离操作前)时,可以用指定选项 w rite resume 来移除数据库中表空间的写暂停状态。 二、完全恢复(版本恢复) 1、 工作原理 Tips: 全备份和版本恢复的执行时间可能很长,这需要您在做备份和恢复计划的时候,必须充分考虑这个因素。 2、 执行方式–根据日志设置方式的不同有以下两种: A.循环日志 w ithout rolling forw ard 选项来清除数据库的 ROLLFORWARD PENDING 状备份和恢复都必须离线进行。执行DB2 命令(backup/database)来进行全备份和版本恢复。 B.归档日志 备份可以在线,而恢复必须离线进行。在执行DB2 命令(restore)进行恢复的时候,需指定态。 三、数据库前滚恢复(时间点恢复) 1、 工作原理 2、 执行方式 数据库前滚恢复需要启用归档日志并建立数据库备份。数据库前滚恢复必须离线进行。在执行不带w ithout rolling forw ard 选项的 DB2 命令 restore 后,数据库处于前滚暂挂状态(ROLLFORWARD PENDING),这时执行前滚恢复命令 rollforw ard 将使数据库恢复至备份后的某一特定时间点或者日志末尾。 Tips: 1.表空间的前滚恢复将在部分恢复里进行介绍。 2.必须保留备份后到特定时间点之间所有的日志文件。 四、表空间恢复(部分恢复) 1、 工作原理 原理请参考前面的前滚恢复,区别是备份和恢复的对象是表空间。 2、 主要特点 A.相对数据库备份,表空间备份和恢复在时间上占有优势,并且方法灵活。 B.在大型数据库系统中,常规数据、索引、长字符数据、LOB 型数据通常放在不用的表空间里,为了确保数据的一致性需要对所有关联的表空间同时进行备份和恢复。 C.系统编目表空间的备份和恢复必须离线进行,并且必须前滚至日志的末尾。而其他的表空间都可在线进行,并且可以前滚至某个特定时间点。 D.通过设定注册表变量DB2_COLLECT_TS_R...