Skip to Main Content

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, Kitti.

Asked: March 24, 2017 - 3:23 am UTC

Last updated: March 28, 2017 - 12:48 am UTC

Version: 12c

Viewed 1000+ times

You Asked

Hi,

I have two questions about automatic undo management.

1.Assume my undo tablespace has maximum size to 32GB with undo_retention=900 and currently it's used 10GB.
While I querying a table more than 15 min and others users perform DML statements to the database that request undo.
Does it use expired undo extents or allocate new extents first?

2.If my database has a non-standard block size tablespace, when a user perform DML to a segment in the tablespace, Does it use which tablespace to keep before images for that segment?


Thank you
Regards,
Kitti

and Connor said...

1) If your undo retention is 15mins, then once information in the undo area is more than 15 mins old, then it is a candidate for reuse. If you have queries that run for more then 15mins, then you'd be at risk.


2) Block size doesn't matter, because we dont record before images of *blocks*. Undo is more about "instructions".

So if you do an update which is say:

update EMP
set sal = 500
where empno = 10;

then the undo would be something conceptually like:

"change SAL in row 17, in block 1235, back to 100"

So you can see the blocksize of the source data is not really an issue.

Rating

  (1 rating)

Is this answer out of date? If it is, please let us know via a Comment

Comments

A reader, March 27, 2017 - 7:20 am UTC

Hi Connor,

Your answer is very useful for me.

Thank you
Regards
Kitti
Connor McDonald
March 28, 2017 - 12:48 am UTC

glad we could help