View the following SQL statements:
Transaction T1
SQL> INSERT INTO hr.regions
2 VALUES (5,’Pole’);
3 COMMIT;
Transaction T2
SQL> UPDATE hr.regions
2 SET region_name=’Poles’
3 WHERE region_id = 5;
4 COMMIT;
Transaction T3
SQL> UPDATE hr.regions
2 SET region_name=’North and South Poles’
3 WHERE region_id = 5;
You want to back out transaction T2. Which option would you use?
A.
It is possible, but transaction T3 also backs out.
B.
It is possible with the NOCASCADE_FORCE option.
C.
It is possible with the NONCONFLICT_ONLY option.
D.
It is not possible because it has conflicts with transaction T3.
Explanation:
Table 12-2 Flashback TRANSACTION_BACKOUT Options
CASCADE
Backs out specified transactions and all dependent transactions in a post-order fashion (that is,
children arebacked out before parents are backed out).
Without CASCADE, if any dependent transaction is not specified, an error occurs.
NOCASCADE
Default. Backs out specified transactions, which are expected to have no dependent transactions.
Firstdependent transactions causes an error and appears in *_FLASHBACK_TXN_REPORT.
NOCASCADE_FORCE
Backs out specified transactions, ignoring dependent transactions. Server runs undo SQL
statements forspecified transactions in reverse order of commit times.If no constraints break and
you are satisfied with the result, you can commit the changes; otherwise, you canroll them back.
NONCONFLICT_ONLY
Backs out changes to nonconflicting rows of the specified transactions. Database remains
consistent, buttransaction atomicity is lost.