Basic components of an Oracle server
The following diagram illustrates some of the basic components of an
Oracle server at the memory, database and disk layers. The numbers
indicate the order of the flow of information.
The numbered labels in the Oracle architecture diagram correspond to the
following activities:
1 The client program (for example, SQL*PLUS, Oracle Power Objects, or
some other tool) sends a SELECT statement to the server process.
2 The server process looks in the shared pool for a matching SQL
statement. If none is found, the server process parses the SQL and inserts
the SQL statement into the shared pool.
3 The server process looks in the buffer cache for the data blocks required
If found, the data block must be moved on to the most recently used end
of the Least Recently Used (LRU) list.
4 If the block cannot be found in the buffer cache the server process must
fetch it from the disk file. This requires a disk I/O.
5 The server process returns the rows retrieved to the client process. This
may involve some network or communications delay.
6 When the client issues the UPDATE statement the process of parsing the
SQL and retrieving the rows to be updated must occur. The update
statement then changes the relevant blocks in shared memory and
updates entries in the rollback segment buffers.
7 The update statement also makes an entry in the redo log buffer that
records the transaction details.
8 The database-writer background process copies modified blocks from the
buffer cache to the database files. The Oracle session performing the
update does not have to wait for this to occur.
9 When the COMMIT statement is issued the log writer process must copy
the contents of the redo log buffer to the redo log file. The COMMIT
statement does not return control to the Oracle session issuing the
commit until this write is complete.
10 If running in ARCHIVELOG mode, the archiver process copies full redo
logs to the archive destination. A redo log is not eligible for re-use until it
has been archived.
11 At regular intervals, or when a redo log switch occurs, Oracle performs a
checkpoint. A checkpoint requires all modified blocks in the buffer cache
to be written to disk. A redo log file cannot be re-used until the
checkpoint completes.