数据库学习之(8)数据库恢复的实现--各种数据转储方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了数据库学习之(8)数据库恢复的实现--各种数据转储方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2257字,纯文字阅读大概需要4分钟。
内容图文
![数据库学习之(8)数据库恢复的实现--各种数据转储方法](/upload/InfoBanner/zyjiaocheng/508/7bb47a2b858a4ca483e8054e7d8cbb79.jpg)
静态转储:在系统中无运行事务时进行的转储操作。静态转储简单,但必须等待正运行的用户事务结束才能进行。同样,新的事务必须等待转储结束才能执行。这会降低数据库的可用性。
动态转储:指转储期间允许对数据库进行存取或修改。动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但是,转储结束时后援副本上的数据并不能保证正确有效。因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件( 109 file )。这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。转储还可以分为海量转储和增量转储两种方式。
海量转储:指每次转储全部数据库。
增量转储:指每次只转储上一次转储后更新过的数据。从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。
日志文件
日志文件的作用:
- 日志文件是用来记录事务对数据库的更新操作的文件
- 事务故障恢复和系统故障必须使用日志文件
- 在动态转储方式中必须建立日志文件,后援副本和日志文件综合起来才能有效的恢复数据库,静态转储方式中,也可以建立日志文件
日志文件主要又两种格式:以记录为单位的日志文件和以数据块为单位的日志文件。
登记日志文件时必须遵循两条原则:
- 登记的次序严格按并发事务执行的时间次序
- 必须先写日志文件,后写数据块。
对数据库的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成一个。如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,按日志恢复数据库时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性。所以为了安全,一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。这就是“先写日志文件”的原则。
参考:https://blog.csdn.net/zanshiyonghuming/article/details/50751129
https://www.cnblogs.com/gxcstyle/p/6881361.html
数据库学习之(8)数据库恢复的实现--各种数据转储方法
标签:版本 复制 文件 style -- str 综合 sdn span
本文系统来源:https://www.cnblogs.com/Harriett-Lin/p/10857052.html
内容总结
以上是互联网集市为您收集整理的数据库学习之(8)数据库恢复的实现--各种数据转储方法全部内容,希望文章能够帮你解决数据库学习之(8)数据库恢复的实现--各种数据转储方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。