当前位置:网站首页>Database recovery strategy
Database recovery strategy
2022-07-05 21:58:00 【Short section senior】
Recovery of transaction failure
Transaction failure : Transaction terminated before running to normal termination
Recovery method
The recovery subsystem uses log files to undo (UNDO) Changes made to the database by this transaction
The recovery of transaction failure is automatically completed by the system , Transparent to users , No user intervention is required
Recovery steps for transaction failure
(1) Reverse scan file log ( That is, scan log files from the last forward ), Find the update operation of the transaction .
(2) Reverse the update operation of the transaction . Is about to log “ Value before update ” Write to database .
The insert , “ Value before update ” It's empty , It is equivalent to deleting
Delete operation ,“ Updated value ” It's empty , It's equivalent to inserting
If it's a modification , It is equivalent to replacing the modified value with the pre modified value
(3) Continue reverse scanning log files , Find other update operations for this transaction , And do the same thing .
(4) Deal with it like this , Until you read the start tag of this transaction , Transaction recovery is complete .
Recovery of system failure
The reason of database inconsistency caused by system failure
The update to the database by the unfinished transaction may have been written to the database
The database update by committed transaction may be left in the buffer before it can be written to the database
Recovery method
1.Undo Unfinished transactions at the time of failure
2. Redo Completed transactions
The recovery of system failure is automatically completed when the system is restarted , No user intervention is required
Recovery steps for system failure
(1) Forward scanning log files ( Scan log files from scratch )
redo (REDO) queue : Transactions committed before the failure
These things already have BEGIN TRANSACTION Record , Also have COMMIT Record
revoke (UNDO) queue : Unfinished business at the time of failure
These things are just BEGIN TRANSACTION Record , There is no corresponding COMMIT Record
(2) To revoke (UNDO) Queue transactions to undo (UNDO) Handle
Reverse scan log files , Reverse the update operation of each undo transaction
Is about to log “ Value before update ” Write to database
(3) To redo (REDO) Queue transactions redo (REDO) Handle
Forward scanning log files , Re perform the registration operation for each redo transaction
Is about to log “ Updated value ” Write to database
Recovery of media failure
Recovery steps
(1) Mount the latest backup database copy ( The most recent crash of the replica occurred at the time of the dump ) , Restore the database to the consistency state of the last dump .
For a database copy of a static dump , The database is in a consistent state after loading
For a database copy of a dynamic dump , You must also load a copy of the log file at the time of the dump , Use the method of recovering system failure ( namely REDO+UNDO), To restore the database to a consistent state .
(2) Load a copy of the log file in question ( Copy of the log file at the end of the dump ) , Redo what has been done .
First scan the log file , Find out the ID of the transaction that was committed when the failure occurred , Put it in the redo queue .
Then forward scan the log file , Redo all transactions in the redo queue . Is about to log “ Updated value ” Write to database .
The recovery of media failure requires the intervention of database administrator
The work of Database Administrator
Reinstall the database copy of the latest dump and the copies of the related log files
Execute the recovery command provided by the system
The specific recovery operation is still completed by the database management system
Welcome to join me for wechat exchange and discussion ( Please note csdn Add )
边栏推荐
- QML reported an error expected token ";", expected a qualified name ID
- 每日刷题记录 (十四)
- The solution to the problem that Oracle hugepages are not used, causing the server to be too laggy
- [Yugong series] go teaching course 003-ide installation and basic use in July 2022
- Net small and medium-sized enterprise project development framework series (one)
- MMAP
- Bitbucket installation configuration
- 張麗俊:穿透不確定性要靠四個“不變”
- Some things make feelings nowhere to put
- 2.2.3 output of documents
猜你喜欢
【愚公系列】2022年7月 Go教学课程 004-Go代码注释
MATLAB | App Designer·我用MATLAB制作了一款LATEX公式实时编辑器
[Yugong series] go teaching course in July 2022 004 go code Notes
多家呼吸机巨头产品近期被一级召回 呼吸机市场仍在增量竞争
华为联机对战如何提升玩家匹配成功几率
AD637使用筆記
力扣------经营摩天轮的最大利润
Decorator learning 01
Oracle checkpoint queue - Analysis of the principle of instance crash recovery
华为快游戏调用登录接口失败,返回错误码 -1
随机推荐
Daily question brushing record (XIV)
Decorator learning 01
MySQL连接断开报错MySQLdb._exceptions.OperationalError 4031, The client was disconnected by the server
Shell script, awk condition judgment and logic comparison &||
Oracle HugePages没有被使用导致服务器很卡的解决方法
Oracle检查点队列–实例崩溃恢复原理剖析
Huawei game multimedia service calls the method of shielding the voice of the specified player, and the error code 3010 is returned
Drawing HSV color wheel with MATLAB
Efficiency difference between row first and column first traversal of mat data types in opencv
PyGame practical project: write Snake games with 300 lines of code
MySQL disconnection reports an error MySQL ldb_ exceptions. OperationalError 4031, The client was disconnected by the server
总结出现2xx、3xx、4xx、5xx状态码的原因
HDU 4391 Paint The Wall 段树(水
阿龙的感悟
Evolution of large website architecture and knowledge system
Regular expressions and re Libraries
Dbeaver executes multiple insert into error processing at the same time
Four components of logger
初级软件测试必问面试题
微服務鏈路風險分析