Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Oracle Instance Recovery (I don't get it :)
In article <7km0ke$r9j$1_at_news.eng.octel.com>,
bass_at_octel.com (Bass Chorng) wrote:
> Andrey Dmitriev (netcomradeNOSPAM_at_earthlink.net) wrote:
> : Now I am really confused. I thought so too, but as I was reading
> : Oracle 8 Tuning (Oracle series) I have noticed that the author(s)
say
> : that Redo Logs contain only committed information. Does anybody else
> : have an opinion? Thanx. Meanwhile I think I am going to order
Oracle 8
> : Architecture from bn or amazon :)
>
> Yes, redo ALSO contains uncommitted data.
>
> So everyone must have asked this question: why
> do the same job that rollback segment is already doing ?
> Why duplicates the effort?
>
> I am sure there are lots of technical reasons.
>
> But the only reason I can think of is although RBS has
> the rollback info, it is not available at recovery
> cuz database is not open. Redo is the only place available.
> This is a design issue, over the years I still think
> this is a terrible waste of effort.
>
> -Bass Chorng
>
A point on the previous post that the database files contain
uncommitted data. This is not unusual. IBM's IMS has done the same
thing and it is 30 years old. Indeed if data base managers did not
write uncommited data to the data files they would have to hold all
changed data in memory or an uncommitted change file and write the data
on commit. This would make for very slow commits.
As far as the rollback segments not being used for recovery remember
that the rbs consists of buffers and files. During a crash the
buffers are lost and are rebuild during the role forward phase of
recovery. Then the rollback buffers and files are used to rollback
uncommited database buffer/file changes as pointed out in a previous
post on the thread. If this was the only use for rollback then I would
agree that this is a waste of effort; however, the main use of rollback
is not rolling back since most transaction commit. Instead by using
rollback segments Oracle is able to create consistent point in time
views of data so that writes do not block readers. In my opinion this
is the main purpose of rollback and the time saved by read requests in
not having to wait far exceeds the overhead of building the rollback.
--
Mark D. Powell -- The only advice that counts is the advice that
you follow so follow your own advice --
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.
Received on Tue Jun 22 1999 - 09:28:40 CDT