Oracle Architecture Overview
The following diagram illustrates some of the basic components of an Oracle server at the memory, database and disk layers. This architecture has been used to design the Spotlight on Oracle home page.
The numbers indicate the order of the flow of information.
The numbered labels in the Oracle architecture diagram correspond to the following activities:
- The client program (for example, SQL*PLUS, Oracle Power Objects, or some other tool) sends a SELECT statement to the server process.
- 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.
- 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.
- 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.
- The server process returns the rows retrieved to the client process. This may involve some network or communications delay.
- 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.
- The update statement also makes an entry in the redo log buffer that records the transaction details.
- 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.
- 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.
- 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.
- 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.
The best information to help you tune and configure Oracle databases can be found online. Use as your first point of reference web sites such as: