1Z0-062 · Question #356
One of your databases supports an OLTP workload. The default UNDO tablespace is fixed size with: 1. RETENTION NOGUARANTEE 2. UNDO_RETENTION is 12 minutes User SCOTT gets this error after a query on…
The correct answer is A. An update was made to the SALES table after the query began D. An uncommitted update to the SALES table was made more than 12 minutes before the query E. A committed update to the SALES table was made more than 12 minutes before the query began. An ORA-01555 "snapshot too old" error typically occurs when a long-running query requires undo information that has been overwritten, especially in environments with fixed-size undo tablespaces and RETENTION NOGUARANTEE.
Question
Options
- AAn update was made to the SALES table after the query began
- BAn update to the SALES table was committed after the query began
- CA committed delete to the SALES table was made more than 12 minutes before the query began
- DAn uncommitted update to the SALES table was made more than 12 minutes before the query
- EA committed update to the SALES table was made more than 12 minutes before the query began
- FAn uncommitted delete to the SALES table was made more than 12 minutes before the query
- GAn update was made to the SALES table before the query began
How the community answered
(55 responses)- A62% (34)
- B5% (3)
- C2% (1)
- F20% (11)
- G11% (6)
Why each option
An ORA-01555 "snapshot too old" error typically occurs when a long-running query requires undo information that has been overwritten, especially in environments with fixed-size undo tablespaces and `RETENTION NOGUARANTEE`.
Concurrent DML, such as updates to the `SALES` table that commit after the query begins, generates new undo records which can then overwrite older undo data required by the long-running query to maintain its consistent read view.
This statement is effectively covered by choice A, as updates committed after the query starts directly contribute to the generation of undo that might overwrite older necessary undo.
A committed delete operation also generates undo, and if committed more than 12 minutes prior to a query needing its original data, could similarly cause ORA-01555, but it is not among the correct choices.
A long-running uncommitted update to the `SALES` table consumes active undo segments, preventing their timely reuse and effectively shortening the window for older committed undo to be retained before being overwritten, thus causing `ORA-01555` for other queries.
If a transaction committed an update to the `SALES` table more than 12 minutes before the query began, and the query needs the pre-update state for its consistent read, the undo information might have been purged or overwritten due to `UNDO_RETENTION` being 12 minutes and `RETENTION NOGUARANTEE`.
Similar to an uncommitted update, an uncommitted delete consumes undo segments, but choice D accurately describes the general problem of long-running uncommitted transactions.
This statement is too general; it is specifically addressed by choices D (if uncommitted) and E (if committed), which provide more precise causes for the error.
Concept tested: Oracle ORA-01555 snapshot too old causes
Source: https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/ORA-01555.html
Topics
Community Discussion
No community discussion yet for this question.