• λ我爱Aspx >> Asp.Net >> 浅谈DB2数据库的备份与恢复(下)
  • 浅谈DB2数据库的备份与恢复(下)

  • :未知  Դ:internet  :2007-5-5 19:51:56  ؼ:数据库,数据
  • 二、DB2数据库的恢复

    DB2数据库提供了三种恢复类型:

    1、崩溃恢复(crash recovery) :崩溃恢复是用来在失败后立即进行恢复,把数据库恢复到一个事务一致状态,此状态的所有更改只有在执行提交事务后才生效。崩溃恢复使用命令 RESTART 执行。 2、备份恢复(restore recovery) :备份恢复可从上一次所作的备份中恢复数据库的内容。备份恢复使用 RESTORE 命令执行。 3、向前恢复(forward recovery) :在一个数据库从备份中恢复了以后,向前恢复可以重新执行那些在备份后才更改了数据库的操作。在这种情况下,数据库可以恢复到备份和当前时间之间的任何时间断。向前恢复使用 ROLLFORWORD 命令执行。 崩溃恢复和备份恢复对任何数据库都适用,而向前恢复只有在数据库被指定可以使用此功能是才使用。表一显示了此功能带来的影响。 表一 数据库能否进行向前恢复带来的影响
    如果不允许进行向前恢复 如果允许进行向前恢复
    在发生失败后,可以把数据库恢复到失败前与最后一次事务一致的状态。 同样,也支持恢复到与最后一次事务一致的状态。
    可以把数据库恢复到任何有效的备份状态,但是不能重新执行发生在备份之后的事务。 可以把数据库恢复到任何有效的备份状态,并且可以重新执行从发生失败到当前为止提交的事务。
    只能在没有任何应用连接到数据库时进行备份(这称为脱机备份)。 可以在应用连接到数据库时和事务正在处理时进行备份(这称为联机备份)。同样支持脱机备份。
    每一个备份都必须包含整个数据库的当前状态。 一个备份可能包含整个数据库的当前状态,或者是一个或多个表空间。数据库的表空间可以单独地备份和恢复。
    可以通过把数据库配置参数 LOGRETAIN 或 USEREXIT 设置为 YES 来使向前恢复生效。日志会由于生成新的文件而不断增加,并且它们是无限制的。在这种情况下,必须采取一些办法把旧的日志文件保存到文档中,以防止文件系统被日志占满。 1、RESTART 命令

    此命令是当一些操作还在处理时发生断电或软件崩溃后要发出的第一个命令。它建立一个数据库的连接,并使用日志来把数据库恢复到事务一致状态。所有在失败发生前由提交操作所引起的数据库更改都会生效。所有在失败前被撤消的操作和失败时正在处理的事务对数据库进行的更改都被撤消。

    下面是 RESTART 命令的例子:

    RESTART DATABASE mydb

    2、RESTORE 命令

    此命令使用存储在备份中的内容来恢复数据库的内容。RESTORE 命令可以创建一个新的数据库。RESTORE 命令需要 SYSADM Ҷƪл˵?

  • һƪ在VC编写的组件中使用ASP对象
    һƪSOCKS