Home » RDBMS Server » Server Administration » data buffer pool
data buffer pool [message #232195] Thu, 19 April 2007 14:57 Go to next message
IT Guru
Messages: 59
Registered: January 2007
Member
I want to under stand oracle internal architecture of oracle.
Here what I understood from Oracle University book + my Oracle faculty.


Plz do correct me where I am wrong.
Eg. Trying to update value of last_name of employees table with update command.

[Undo buffer is part of data buffer pool]

1) Server process read & place data dictionary in data dictionary catch [Share_pool].
2) Server process read & place data bock from employees table to data buffer pool.
3) Server process copy data block from data buffer pool to undo data buffer pool.
4) Server process make changes in data buffer pool.
5) Server process write changes in Redo buffer pool.
6) On commit. LGWR process write Redo buffer pool to redo log file.
*-*-*-*-*-*-*-*-*-*-*-*

What ever changes are made to data are parallel store in Redo buffer log. Only on commit LGWR process copy same to redo log file.
If one go on making change with out commit at one point of time log buffer will get full & will receive error. This way force to either commit or rollback.

If Rollback is issue then get erase from redo buffer pool.

I feel some thing is wrong in process. So If any one can give me exact flow, I will be really great full for same.

Thank you.
A newbie in Oracle
Student


Re: data buffer pool [message #232207 is a reply to message #232195] Thu, 19 April 2007 15:52 Go to previous messageGo to next message
Michel Cadot
Messages: 68718
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
3) There is no undo data buffer pool only data buffer pool. For Oracle there is no difference between data and undo (except block type and structure), they are handle in the same way.

Quote:
Only on commit LGWR process copy same to redo log file.

No LGWR copies redo log buffer to redo log file in different cases
a) commit
b) log buffer is 1/3 full
c) redo records in log buffer is > 1MB
d) DBWR asks it to do so
e) every 3 seconds if it is idle

So the last part is wrong. No transaction aborts because log buffer is full, it just waits.

Regards
Michel



Re: data buffer pool [message #232500 is a reply to message #232195] Fri, 20 April 2007 14:05 Go to previous messageGo to next message
IT Guru
Messages: 59
Registered: January 2007
Member
Thanks for response.

So can any one explain me in detail what is process flow for below given task.

1) Update any recode. & commit.
2) Update any recode. & rollback.
3) Millions of update without commit & rollback.
Re: data buffer pool [message #232502 is a reply to message #232500] Fri, 20 April 2007 14:09 Go to previous message
Mahesh Rajendran
Messages: 10708
Registered: March 2002
Location: oracleDocoVille
Senior Member
Account Moderator
http://download-east.oracle.com/docs/cd/B10501_01/server.920/a96524/c16sqlpl.htm#1532
Previous Topic: weird redo log behaviour?
Next Topic: Oracle 9i Database Installation
Goto Forum:
  


Current Time: Mon Dec 02 11:38:47 CST 2024