<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Why Undo ?</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2010/02/09/why-undo/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2010/02/09/why-undo/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Sat, 18 May 2013 11:04:10 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/02/09/why-undo/#comment-37496</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Thu, 07 Oct 2010 18:54:46 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2996#comment-37496</guid>
		<description><![CDATA[Oracle will not over-write undo for an uncommitted transaction, it will keep extending the undo segment rather than doing this. 

Ultimately, in your theoretical case, you may get an error from some session saying something like: &quot;unable to extend rollback segment, tablespace full&quot; because it&#039;s possible that your rollback segment (being used by other sessions) will slowly extend and steal space from other rollback segments until all the other rollback segments are full, and unable to extend - and your rollback segment could have lots of &quot;redundant&quot; space which is unusable because all the space is between the uncommitted transaction and the current &quot;high water mark&quot; of the rollback segment.]]></description>
		<content:encoded><![CDATA[<p>Oracle will not over-write undo for an uncommitted transaction, it will keep extending the undo segment rather than doing this. </p>
<p>Ultimately, in your theoretical case, you may get an error from some session saying something like: &#8220;unable to extend rollback segment, tablespace full&#8221; because it&#8217;s possible that your rollback segment (being used by other sessions) will slowly extend and steal space from other rollback segments until all the other rollback segments are full, and unable to extend &#8211; and your rollback segment could have lots of &#8220;redundant&#8221; space which is unusable because all the space is between the uncommitted transaction and the current &#8220;high water mark&#8221; of the rollback segment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nikhil Mishra</title>
		<link>http://jonathanlewis.wordpress.com/2010/02/09/why-undo/#comment-37491</link>
		<dc:creator><![CDATA[Nikhil Mishra]]></dc:creator>
		<pubDate>Thu, 07 Oct 2010 10:59:31 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2996#comment-37491</guid>
		<description><![CDATA[Hello, I have a question regarding read-consistency. Suppose, my transaction changed a data block in buffer and it got written to data file before I issue commit because of some reason. Now, I do not commit this record for 3-4 days. In the meanwhile,many transactions are taking place which have pushed Oracle to use undo space and now we have come to the situation where undo data related to my transaction is also no longer in undo space (remember still transaction has not been committed). So, we have a situation where a uncommitted data is existing in database without having any undo data. Is it possbile?
and if yes, then what will happen if some other transaction wants to read same rows, so from where that transaction is supposed to get data (undo space is cleared), or will it read uncommitted data ?]]></description>
		<content:encoded><![CDATA[<p>Hello, I have a question regarding read-consistency. Suppose, my transaction changed a data block in buffer and it got written to data file before I issue commit because of some reason. Now, I do not commit this record for 3-4 days. In the meanwhile,many transactions are taking place which have pushed Oracle to use undo space and now we have come to the situation where undo data related to my transaction is also no longer in undo space (remember still transaction has not been committed). So, we have a situation where a uncommitted data is existing in database without having any undo data. Is it possbile?<br />
and if yes, then what will happen if some other transaction wants to read same rows, so from where that transaction is supposed to get data (undo space is cleared), or will it read uncommitted data ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: True or False &#8211; Undo &#171; Charles Hooper&#039;s Oracle Notes</title>
		<link>http://jonathanlewis.wordpress.com/2010/02/09/why-undo/#comment-36186</link>
		<dc:creator><![CDATA[True or False &#8211; Undo &#171; Charles Hooper&#039;s Oracle Notes]]></dc:creator>
		<pubDate>Sun, 09 May 2010 14:10:40 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2996#comment-36186</guid>
		<description><![CDATA[[...] http://jonathanlewis.wordpress.com/2010/02/09/why-undo/ [...]]]></description>
		<content:encoded><![CDATA[<p>[...] <a href="http://jonathanlewis.wordpress.com/2010/02/09/why-undo/" rel="nofollow">http://jonathanlewis.wordpress.com/2010/02/09/why-undo/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Blogroll Report 05/02/2009 – 12/02/2010 &#171; Coskan&#8217;s Approach to Oracle</title>
		<link>http://jonathanlewis.wordpress.com/2010/02/09/why-undo/#comment-35734</link>
		<dc:creator><![CDATA[Blogroll Report 05/02/2009 – 12/02/2010 &#171; Coskan&#8217;s Approach to Oracle]]></dc:creator>
		<pubDate>Wed, 10 Mar 2010 02:28:29 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2996#comment-35734</guid>
		<description><![CDATA[[...] Jonathan Lewis-Why Undo?  [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Jonathan Lewis-Why Undo?  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Prusinski</title>
		<link>http://jonathanlewis.wordpress.com/2010/02/09/why-undo/#comment-35625</link>
		<dc:creator><![CDATA[Ben Prusinski]]></dc:creator>
		<pubDate>Sun, 28 Feb 2010 05:56:09 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2996#comment-35625</guid>
		<description><![CDATA[Jonathan,

Nice synopsis of differences between redo and undo. You would be surprised to find that many DBAs do not understand the difference between these two items in Oracle.

Cheers,
Ben]]></description>
		<content:encoded><![CDATA[<p>Jonathan,</p>
<p>Nice synopsis of differences between redo and undo. You would be surprised to find that many DBAs do not understand the difference between these two items in Oracle.</p>
<p>Cheers,<br />
Ben</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glossary &#171; Oracle Scratchpad</title>
		<link>http://jonathanlewis.wordpress.com/2010/02/09/why-undo/#comment-35549</link>
		<dc:creator><![CDATA[Glossary &#171; Oracle Scratchpad]]></dc:creator>
		<pubDate>Sat, 20 Feb 2010 18:50:47 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2996#comment-35549</guid>
		<description><![CDATA[[...] See also rollback(2) above, and separate blog article &#8220;Why Undo?&#8221; [...]]]></description>
		<content:encoded><![CDATA[<p>[...] See also rollback(2) above, and separate blog article &#8220;Why Undo?&#8221; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: REDO and UNDO &#8211; the &#8216;why&#8217; behind them &#171; DBA n00b</title>
		<link>http://jonathanlewis.wordpress.com/2010/02/09/why-undo/#comment-35497</link>
		<dc:creator><![CDATA[REDO and UNDO &#8211; the &#8216;why&#8217; behind them &#171; DBA n00b]]></dc:creator>
		<pubDate>Sat, 13 Feb 2010 18:01:25 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2996#comment-35497</guid>
		<description><![CDATA[[...] 13, 2010 by tylerv    Fantastic article by Jonathan Lewis on why Oracle couldn&#8217;t just use REDO to cover the purposes of both UNDO and [...]]]></description>
		<content:encoded><![CDATA[<p>[...] 13, 2010 by tylerv    Fantastic article by Jonathan Lewis on why Oracle couldn&#8217;t just use REDO to cover the purposes of both UNDO and [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: satish.</title>
		<link>http://jonathanlewis.wordpress.com/2010/02/09/why-undo/#comment-35490</link>
		<dc:creator><![CDATA[satish.]]></dc:creator>
		<pubDate>Fri, 12 Feb 2010 19:41:20 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2996#comment-35490</guid>
		<description><![CDATA[Jonathan,

your explanation of concept of redo and undo is excellent. I learnt a lot from your blog and book on cost based optimization. 

Could you please blog on oracle 11gR2 performance features ?

Satish]]></description>
		<content:encoded><![CDATA[<p>Jonathan,</p>
<p>your explanation of concept of redo and undo is excellent. I learnt a lot from your blog and book on cost based optimization. </p>
<p>Could you please blog on oracle 11gR2 performance features ?</p>
<p>Satish</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/02/09/why-undo/#comment-35477</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Thu, 11 Feb 2010 19:51:49 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2996#comment-35477</guid>
		<description><![CDATA[Anand,

Oracle will process one complete redo record at a time in order. Each redo record will hold one or more change vectors. Each change vector will describe a change to a block in the datbase and give some information about the expected state of that block (e.g. SCN and change number). Oracle will try to apply each change vector in turn.

This will continue until you issue the cancel - at which point Oracle can check the undo segment headers to identify the transactions that were uncommitted at that point in the stream of log information, and roll them back.

(I&#039;ve ignored the details of the two-pass strategy that appeared in 10g to reduce the amount of random I/O on the data files as the redo is applied.)
]]></description>
		<content:encoded><![CDATA[<p>Anand,</p>
<p>Oracle will process one complete redo record at a time in order. Each redo record will hold one or more change vectors. Each change vector will describe a change to a block in the datbase and give some information about the expected state of that block (e.g. SCN and change number). Oracle will try to apply each change vector in turn.</p>
<p>This will continue until you issue the cancel &#8211; at which point Oracle can check the undo segment headers to identify the transactions that were uncommitted at that point in the stream of log information, and roll them back.</p>
<p>(I&#8217;ve ignored the details of the two-pass strategy that appeared in 10g to reduce the amount of random I/O on the data files as the redo is applied.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Khurana</title>
		<link>http://jonathanlewis.wordpress.com/2010/02/09/why-undo/#comment-35469</link>
		<dc:creator><![CDATA[Khurana]]></dc:creator>
		<pubDate>Thu, 11 Feb 2010 15:54:10 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2996#comment-35469</guid>
		<description><![CDATA[Awesome.... Thanks a ton.]]></description>
		<content:encoded><![CDATA[<p>Awesome&#8230;. Thanks a ton.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
