📅  最后修改于: 2021-01-11 06:23:11             🧑  作者: Mango
诸如RAM之类的易失性存储器存储所有活动日志,磁盘缓冲区和相关数据。此外,它存储当前正在执行的所有事务。如果这样的易失性存储突然崩溃,会发生什么?显然,它将删除数据库的所有日志和活动副本。由于恢复数据所需的一切都丢失了,因此恢复几乎变得不可能。
在丢失易失性存储的情况下,可以采用以下技术-
我们可以在多个阶段设置检查点,以便定期保存数据库的内容。
易失性内存中活动数据库的状态可以定期转储到稳定的存储中,该存储还可以包含日志,活动事务和缓冲区块。
只要将数据库内容从非易失性存储器中转储到稳定的存储器中,就可以在日志文件上标记
当系统从故障中恢复时,它可以还原最新的转储。
它可以将重做列表和撤消列表作为检查点。
它可以通过查阅undo-redo列表来恢复到最后一个检查点的所有事务的状态来恢复系统。
灾难性故障是指稳定的辅助存储设备损坏的故障。利用该存储设备,存储在内部的所有有价值的数据都将丢失。我们有两种不同的策略来从这种灾难性故障中恢复数据-
远程备份&minu;此处,数据库的备份副本存储在远程位置,万一发生灾难,可以从该位置还原该数据库。
另外,数据库备份可以在磁带上进行并存储在更安全的地方。以后可以将此备份转移到新安装的数据库中,以将其带到备份点。
成年数据库太大,无法经常备份。在这种情况下,我们拥有可以仅通过查看其日志就可以还原数据库的技术。因此,我们要做的就是定期间隔备份所有日志。该数据库可以每周备份一次,非常小的日志可以每天或尽可能频繁地备份。
远程备份提供了一种安全感,以防数据库所在的主要位置被破坏。远程备份可以是脱机的,实时的或联机的。如果离线,则手动维护。
对于数据库管理员和投资者来说,在线备份系统更实时,更省力。在线备份系统是一种机制,其中实时数据的每一位都在两个遥远的地方同时备份。其中一个直接连接到系统,另一个保持在远程位置作为备份。
一旦主数据库存储发生故障,备份系统就会立即检测到故障并将用户系统切换到远程存储。有时,这样的瞬间如此之快,以至于用户甚至都无法意识到失败。