What are the types of recovery in transaction?
Question
What are the types of recovery in transaction?
Solution
In transaction management, recovery refers to the process of restoring a database to a correct state in case of failures. There are mainly four types of recovery techniques used in a transaction:
-
Deferred Update or No Undo/Redo: In this method, the changes are logged but not immediately applied to the database. The changes are applied only after a transaction reaches its commit point. If a failure occurs before the commit point, the transaction is simply aborted and no undo is required as the changes were not applied to the database. If a failure occurs after the commit point, the logged changes are redone to achieve consistency.
-
Immediate Update without Undo: In this method, changes are immediately applied to the database but before the transaction reaches its commit point. If a failure occurs, the changes are not undone. Instead, the system waits for the transaction to reach its commit point and then redoes the changes.
-
Immediate Update with Undo/Redo: In this method, changes are immediately applied to the database and if a failure occurs before the transaction reaches its commit point, the changes are undone. If a failure occurs after the commit point, the changes are redone.
-
Shadow Paging: This is a technique that involves creating a shadow copy of the database. Changes are made to the shadow copy and not the actual database. If a transaction is committed, the shadow copy becomes the actual database. If a failure occurs, the system reverts back to the old copy of the database.
Each of these recovery techniques has its own advantages and disadvantages and is used based on the specific requirements of the database system.
Similar Questions
What are the two types of recovery information mentioned in the text?
Transaction States and Additional OperationsA transaction is an atomic unit of work that should either be completed in itsentirety or not done at all. For recovery purposes, the system needs to keep track ofwhen each transaction starts, terminates, and commits or aborts (see Section21.2.3). Therefore, the recovery manager of the DBMS needs to keep track of thefollowing operations:■ BEGIN_TRANSACTION. This marks the beginning of transaction execution.■ READ or WRITE. These specify read or write operations on the databaseitems that are executed as part of a transaction.■ END_TRANSACTION. This specifies that READ and WRITE transaction oper-ations have ended and marks the end of transaction execution. However, atthis point it may be necessary to check whether the changes introduced by752 Chapter 21 Introduction to Transaction Processing Concepts and TheoryActiveBegintransactionEndtransaction CommitAbortAbortRead, WritePartially committedFailed TerminatedCommittedFigure 21.4State transition diagram illustrating the states fortransaction execution.the transaction can be permanently applied to the database (committed) orwhether the transaction has to be aborted because it violates serializability(see Section 21.5) or for some other reason.■ COMMIT_TRANSACTION. This signals a successful end of the transaction sothat any changes (updates) executed by the transaction can be safelycommitted to the database and will not be undone.■ ROLLBACK (or ABORT). This signals that the transaction has ended unsuc-cessfully, so that any changes or effects that the transaction may have appliedto the database must be undone.Figure 21.4 shows a state transition diagram that illustrates how a transaction movesthrough its execution states. A transaction goes into an active state immediately afterit starts execution, where it can execute its READ and WRITE operations. When thetransaction ends, it moves to the partially committed state. At this point, somerecovery protocols need to ensure that a system failure will not result in an inabilityto record the changes of the transaction permanently (usually by recording changesin the system log, discussed in the next section).5 Once this check is successful, thetransaction is said to have reached its commit point and enters the committed state.Commit points are discussed in more detail in Section 21.2.3. When a transaction iscommitted, it has concluded its execution successfully and all its changes must berecorded permanently in the database, even if a system failure occurs.However, a transaction can go to the failed state if one of the checks fails or if thetransaction is aborted during its active state. The transaction may then have to berolled back to undo the effect of its WRITE operations on the database. Theterminated state corresponds to the transaction leaving the system. The transactioninformation that is maintained in system tables while the transaction has been run-ning is removed when the transaction terminates. Failed or aborted transactionsmay be restarted later—either automatically or after being resubmitted by theuser—as brand new transactions.5Optimistic concurrency control (see Section 22.4) also requires that certain checks are made at this
What are the two types of recovery information mentioned in the text?Undo and redoRedo and savepointUndo and savepointCheckpoint and journal filesNext
Which of the following makes the transaction permanent in the database? Rollback View Commit Flashback
The recovery phase comes under which event?
Upgrade your grade with Knowee
Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.