Saturday, 8 September 2018

How DML statement get processes in a oracle Database



  1. Listener established a connection with App Server 
  2. A server process get created  by PGA for App server 
  3. Server process act as a proxy between App and DB , it create a HASH Value for corresponding SQL and sent the details to SGA 
  4. if same sql is ran earlier there would be a sql area exist if not then a sql area will be get created 
  5. SQL engine inside SGA will parse the sql based on syntax, semantics and privileges
  6. The request data now get updated in Buffer Cache and  UNDO block and Log Buffer (log buffer will have old as well new value 
  7. Now if commit triggered then all the data from Log buffer get transfer to Redo logs , Please note whenever commit command is given all the data (All sql statement )from log buffer get transfer to Redo logs along with SCN(System change number). UNDO data get rewritten with updated value 
  8. Buffer cache will be update with new data 
  9. Now whenever DBWR get initiated by system the data from buffer cache get updated in data files .

No comments:

Post a Comment