美文网首页
数据库恢复

数据库恢复

作者: 每天进步一点点变成更好的自己 | 来源:发表于2022-05-04 10:38 被阅读0次

1、数据库故障与恢复

建立数据冗余:数据转存和建立日志文件
1、事务故障:程序执行错误(逻辑错误【非法输入、数据丢失、运算溢出、超出资源限制】和系统错误【系统进入不良状态,如死锁】)---撤销事务故障(undo)
2、系统故障(软故障):硬件故障、软件漏洞(OS、DBMS),导致内存信息丢失(未破坏存储介质信息)---重做已提交事务(redo)
3、介质故障(硬故障):存储介质故障(磁盘损坏、强磁场干扰),直接破坏数据库,影响正在读取这部分的事务,数据库操作破坏。

2、数据库事务并发

并发带来数据不一致,需由数据库提供隔离机制。
数据库事务并发:
1、数据丢失:A、B事务同时更新,B覆盖了A的更新。
2、脏读:B事务读取了A事务尚未提交的修改。A进行了rollback,B事务两次读出来的数据不一致。(读取缓存中未提交的数据)
3、不可重复读:B事务读取了2次数据,读取过程中A事务改变了数据,B事务两次读出来的数据不一样。(读取已提交的数据)
4、幻读:B事务读取了2次数据,读取过程中A事务改变了数据,B事务两次读出来的数据不一样。(读取已提交的数据)

3、数据库事务调度

数据库事务调度包括:脏读、不可重复读、幻读。事务隔离级别
1、未提交读
事务中的修改,即便没有提交,对其他事务也都是可见的。一般不使用。
2、已提交读
解决脏读的问题,事务从开始直到提交前,所做的任何修改对其他事务都不可见。多数DBMS默认标准。
3、可重复读
解决脏读、不可重复读,同一事务中多次读取相同数据的结果是一致的。
4、串行化
解决并发事务所有问题(效率低),强制事务串行执行,避免幻读问题;读取每行都加锁。

4、并发调度

可串行性是并发事务正确调度的准则。
调度:一个或多个事务的重要操作按时间排序的一个序列。
串行调度:不允许事务并发,所有事务排队,挨个串行执行。
可串行调度:事务并发调度的执行结果与某个串行调度的执行结果等价(串行等价)
冲突操作:对同一数据对象的同时进行读写(或写写)操作冲突前提:2个事务操作同一对象;至少1个写操作;

相关文章

网友评论

      本文标题:数据库恢复

      本文链接:https://www.haomeiwen.com/subject/nrspyrtx.html