Upgrade Oracle DBA 11g to Oracle Database 12c — Question 16
Your database has a table customers that contains the columns cust_name, amt_due, and old_status.
Examine the commands executed and their output:
SQL>UPDATEcustomersSETamt_due=amt_due+amt_due*l. 1WHEREcust_name='JAMES';
1row updated.
SQL> ALTER TABLE customers DROP COLUMN old_status;
Table Altered -
SQL> UPDATE customers SET amt_due=amt_due+amt_due*1.5 WHERE cust_r.ame='JAMES';
1 row updated.
SQL> COMMIT;
SQL> SELECT versions_xid AS XID, versior.s_startscr. AS START_SCN, versions_er.cscn AS END_SCN, versior.s_operatior. AS OPERATION', amt_due
FROM customers VERSIONS BETWEEN SCN MINVALULEAND MAXVALUE WHERE custname='JAMES';.
XIDSTART_SCNEND_SCNOPERATIONAMT_DUE
-------------------------- ----------------------- ------------------- ------------------- ------------------------
07002f00cl03000017063371706337 U3300
Why is it that only one update is listed by the Flashback Version Query?
Answer options
- A. Supplemental logging is not enabled for the database.
- B. The undo data that existed for versions of rows before the change to the table structure is invalidated.
- C. The db_flash3ACK_reteni:on_target parameter is set to a lower value and the undo data pertaining to the first transaction is flushed out.
- D. Undo retention guarantee is not enabled.
- E. Flashback Data Archive is full after the first update statement.
Correct answer: C
Explanation
The correct answer is C because the db_flashback_retention_target parameter controls how long undo data is retained. If it's set too low, earlier undo data can be purged, causing only the latest update to be available. The other options refer to different aspects of undo management that do not specifically explain the loss of the first update's visibility.