数据库 什么时候重做

worktile 其他 1

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    数据库重做是指在数据库发生故障或意外中断时,为了恢复数据库的一致性和完整性而执行的一系列操作。以下是数据库重做的时机和情况:

    1. 崩溃恢复:当数据库发生崩溃或非正常关闭时,重做操作会在数据库重新启动时触发。数据库会检查之前未完成的事务,并将其重做以确保数据的一致性。这种情况下,数据库会根据事务日志中的信息重做相关操作。

    2. 增量备份恢复:在使用增量备份进行数据库恢复时,重做操作会在恢复过程中执行。增量备份只包含自上次完整备份之后的变更数据,因此需要将这些变更应用到数据库中,以使其与备份时的状态一致。

    3. 热备份恢复:热备份是指在数据库运行期间进行备份操作,而不需要停止数据库服务。当使用热备份进行数据库恢复时,重做操作会在备份完成后执行,以使恢复的数据库与备份时的状态一致。

    4. 数据库迁移:当将数据库从一个环境迁移到另一个环境时,可能需要执行重做操作以确保数据的一致性。例如,将数据库从一个服务器迁移到另一个服务器时,重做操作可以将在迁移过程中未同步的数据重新应用到目标数据库中。

    5. 数据库恢复点:数据库恢复点是数据库管理员手动创建的一个标记,用于记录数据库在某个特定时间点的状态。当数据库需要回滚到该恢复点时,将执行重做操作以将数据库恢复到该时间点的状态。

    综上所述,数据库重做的时机包括崩溃恢复、增量备份恢复、热备份恢复、数据库迁移和数据库恢复点。这些操作都是为了确保数据库的一致性和完整性,从而保护数据的可用性和可靠性。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    数据库重做是在什么情况下发生的呢?通常情况下,数据库会在以下几个场景下进行重做操作:

    1. 数据库崩溃或意外断电:当数据库发生崩溃或意外断电时,可能会导致未完成的事务无法正常提交,此时需要通过重做操作来保证数据的一致性和完整性。

    2. 数据库恢复:当数据库需要进行恢复操作时,通常需要通过重做操作来还原到最新的完整状态。比如,在数据库备份恢复或故障转移过程中,需要利用重做操作来将数据库还原到最新的状态。

    3. 数据库复制:在数据库复制过程中,主数据库将修改操作记录到重做日志中,并通过传输重做日志到备份数据库来实现数据的同步。备份数据库通过应用重做日志来保持与主数据库的一致性。

    总而言之,数据库重做是在数据库崩溃、意外断电、数据库恢复以及数据库复制过程中发生的操作,用于保证数据的一致性和完整性。重做操作通过应用重做日志来还原或更新数据库的状态,以确保数据库在发生异常情况后能够正确恢复。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    数据库在什么时候需要进行重做(redo)操作呢?重做是数据库管理系统(DBMS)中的一项重要功能,用于确保数据库的事务持久性和一致性。在以下几种情况下,数据库需要进行重做操作:

    1. 数据库崩溃:当数据库发生崩溃或意外关闭时,系统可能会丢失尚未提交的事务。为了确保数据的完整性,DBMS会在数据库恢复后执行重做操作,将尚未提交的事务重新应用到数据库中。

    2. 数据库恢复:当数据库需要进行恢复操作时,可能会执行重做操作。数据库恢复是指将数据库从备份或故障状态恢复到正常运行状态的过程。在恢复期间,DBMS会执行重做操作,将已提交但尚未写入数据库的事务重新应用到数据库中。

    3. 崩溃恢复:当数据库在运行期间发生崩溃时,DBMS会使用事务日志来恢复数据库到崩溃之前的状态。崩溃恢复过程包括回滚未提交的事务和重做已提交但尚未写入数据库的事务。重做操作是崩溃恢复过程的一部分。

    4. 数据库备份和恢复:在进行数据库备份和恢复操作时,可能会执行重做操作。备份是数据库的一种常见的数据保护手段,通过备份可以将数据库的状态保存到一个独立的存储介质中。当需要恢复数据库时,DBMS会将备份数据还原到数据库中,并执行重做操作,将备份之后的事务重新应用到数据库中。

    重做操作的流程如下:

    1. 检查事务日志:DBMS首先会检查事务日志,以确定需要进行重做操作的事务。事务日志记录了所有已提交但尚未写入数据库的事务。

    2. 识别需要重做的数据页:DBMS会根据事务日志中的信息,识别出需要进行重做操作的数据页。数据页是数据库中存储数据的基本单位。

    3. 读取重做数据:DBMS会从事务日志中读取需要重做的数据,包括被修改的数据块以及相应的旧值和新值。

    4. 应用重做数据:DBMS将读取到的重做数据应用到数据库中,更新相应的数据页和数据块。

    5. 更新日志:在完成重做操作后,DBMS会更新事务日志,标记已经进行了重做操作。

    需要注意的是,重做操作是一个顺序执行的过程,需要按照事务日志中的顺序进行。同时,重做操作是一个持久化的过程,确保数据库的事务持久性和一致性。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部