You are on page 1of 3

ARCHITECTURE OF ORACLE ENGINE(SQL OPTIMIZER)

SQL * PLUS interface Using this interface user interacts with database server and environment SQL buffer It 1st receives the query from SQL *plus interface SGA SGA stands for system global area | shared global area It fetches the query from buffer and sends to database server through sql * plus environment SGA is a collection of some algorithms and using these algorithms it decides how a query to be processed. SQL * plus environment Using this environment SGA communicates with database This environment has all default setting Database server Database server has 2 parts i.e SQL statement processor Physical database SQL statement processor SQL statement processor finally receives sql statement issued for sql *plus interface and process it by communicating with physical database Physical database All database objects and their records are physically stored in it

Operational buffer It is a temporary memory created when a query has to be processed by SGA The memory deallocated once query execution completed The maximum capacity of operational buffer depends on the environment When multiple cond. Are present in a query SGA creates multiple threads of operational buffer(component buffer) Result buffer This buffer receives the matching records from operational buffer and also associates the rownum over here Output server SGA loads all result rows into SQL * plus interface via output server Operation performed Our query reaches upto SGA Then sent to sql statement processor via sql * plus environment Now sql statement processor process the query identifying the objectname and column name If data found then load to operational buffer via environment Before loading the records a environment variable is checked called pining bit whose value either 1 or 0 0->no records currently there in buffer 1->Buffer contains records and scanning is processed If status is 0,loads the data from database upto 2000 B and rest records are waiting state After loading data set pinning bit=1 by environment and scans all the records and sets the bit. This bit is either T or F After full scan all records with bit T are transferred to result buffer and rest are discarded Then operational buffer is empty set pinning bit 0 again Next waiting data are loaded and continue