数据库恢复

由于断电或其他原因,有可能导致数据库出现一些小错误,比如检索某些表特别慢、查询不到符合条件的数据等。出现这些情况的原因往往是数据库有些损坏或索引不完整。

数据库恢复的三种方式

数据库由于硬件或软件(或两者同时)的故障变得不可用,不同的故障情况需要不同的恢复操作。我们必须决定最适合业务环境的恢复方法。在数据库中恢复有3种类型或方法,即应急(crash)恢复、版本(version)恢复和前滚(rool forward)恢复。
应急恢复
应急恢复用于防止数据库处于不一致或不可用状态。数据库执行的事务(也称工作单元)可能被意外中断,若在作为工作单位一部分的所有更改完成和提交之前发生故障,则该数据库就会处于不一致和不可用的状态。这时,需要将该数据库转化为一致和可用的状态。
为此,需要回滚未完成的事务,并完成当发生崩溃时仍在内存中的已提交事务。如在COMMIT语句之前发生了电源故障,则在下一次重新启动并再次访问该数据库时,需要回滚到执行COMMMIT语句前的状态。回滚语句的顺序与最初执行时的顺序相反。
版本恢复
版本恢复指的是使用备份操作期间创建的映象来复原数据库的先前版本。这种恢复是通过使用一个以前建立的数据库备份恢复出一个完整的数据库。一个数据库的备份允许你把数据库恢复至和这个数据库在备份时完全一样的状态。而从备份建立后到日志文件中最后记录的所有工作事务单位将全部丢失。
前滚恢复
这种恢复技术是版本恢复的一个扩展,使用完整的数据库备份和日志相结合,可以使一个数据库或者被选择的表空间恢复到某个特定时间点。如果从备份时刻起到发生故障时的所有日志文件都可以获得的话,则可以恢复到日志上涵盖到的任意时间点。前滚恢复需要在配置中被明确激活才能生效。

数据库恢复碎片重组

数据库误删除又重新安装数据库有少量覆盖,数据库在C盘(系统盘)误克隆,误格式化等操作后数据库用恢复软件都是无法恢复的,即使恢复出数据库文件,绝大部分不能正常使用,因为数据库是经常添加修改数据的,数据库文件在硬盘上是不连续存储的,存在大量的数据库碎片分散分布,普通软件恢复,靠文件分配表或者文件头等相关信息来恢复,一旦这些信息损坏,就只能按文件头恢复,对于分散分布的数据库文件,该方法不再适用,只有把这些零散分布的数据库碎片收集起来,再通过碎片ID号把数据串起来,重组出数据库文件,在没有覆盖或少量覆盖的情况下重组出来的数据库可直接使用,碎片丢失较多时,则需要采用自主开发的数据库修复工具来修复数据库。 


中网通技术

北京 010-82538861

上海 021-68910296

广州 020-82038127

杭州 571-86799303

......

扫一扫