<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Undo on Oracle Scripts</title><link>https://www.oraclescripts.com/tags/undo/</link><description>Recent content in Undo on Oracle Scripts</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>OracleScripts.com</copyright><lastBuildDate>Sat, 11 May 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://www.oraclescripts.com/tags/undo/index.xml" rel="self" type="application/rss+xml"/><item><title>Oracle Undo: Check Extent Status in DBA_UNDO_EXTENTS</title><link>https://www.oraclescripts.com/post/oracle-undo-a-deep-dive-into-dba-undo-extents/</link><pubDate>Sat, 11 May 2024 00:00:00 +0000</pubDate><guid>https://www.oraclescripts.com/post/oracle-undo-a-deep-dive-into-dba-undo-extents/</guid><description>
&lt;h2 id="oracle-undo-check-extent-status-in-dba_undo_extents"&gt;Oracle Undo: Check Extent Status in DBA_UNDO_EXTENTS&lt;/h2&gt;
&lt;h2 id="purpose"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;A report query runs for forty minutes on a busy system and ends with &lt;code&gt;ORA-01555: snapshot too old&lt;/code&gt;. The query is correct. The undo it needed to build a consistent picture of the data was overwritten before the query finished. Somewhere between the size of the undo tablespace, the retention setting and the load on the system, the undo ran short.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;DBA_UNDO_EXTENTS&lt;/code&gt; is the first place to look. It describes the extents of every undo segment in every undo tablespace, and each extent carries a status: &lt;code&gt;ACTIVE&lt;/code&gt;, &lt;code&gt;UNEXPIRED&lt;/code&gt; or &lt;code&gt;EXPIRED&lt;/code&gt;. Counting the extents by status shows how much of the undo tablespace is held by running transactions, how much is held back for read consistency and flashback, and how much is free to reuse.&lt;/p&gt;</description></item></channel></rss>