Welcome to the topic on Oracle Database Server architecture. In this topic, I will describe the Oracle Database Server architecture and explore its various components. This slide shows a typical Oracle Database Server architecture diagram. A basic Oracle database system consists of two main components-- Oracle database, and an Oracle instance.
A database is a set of files located on disk that store data. An instance is a set of memory structures that manage database files. The instance consists of shared memory structures and a set of Oracle processes.
Let's describe the instance first. When instance is started, Oracle database allocates a memory called System Global Area, or SGA, and starts Oracle background processes. System Global Area is a group of shared-memory structures known as SGA components that contain data and control information for one Oracle database instance. Information stored in the SGA is shared by all server and background processes.
Examples of data stored in the SGA include cached data blocks read from data files and shared SQL areas. The background processes of the Oracle instance manage memory structures, asynchronously perform I/O to write data to a file on a disk, and perform general maintenance tasks. Each background process has a unique name and a unique responsibility in Oracle Database system.
Every running Oracle Database is associated with at least one Oracle Database instance. Because an instance exists in memory and a database is a set of files on disk, an instance can exist without a database, and a database can exist without an instance.
The second part of a basic database system is Oracle Database. Oracle Database is simply a set of files stored in the storage system. There are three basic database files-- control files, redo log files, and data files. Control files contain database structure and synchronization information. Redo log files store changes made to the database. User data is stored in a set of data files which physically reside on a disk in the storage system.
Data files are organized in tablespaces. Each tablespace contains one or more data files. When requested by SQL statement, data is read from data file and stored in SGA or in the Program Global Area, PGA, of a server process.
On the left side of the diagram, we can see the user process. User process is usually not running on the same host as a database server, but rather, it runs on a client computer. User process runs application like SQL Plus, from which all requests are sent over the Oracle Net software to server process spawned by the listener.
A listener process is not visible in this diagram, but it is the process which enables remote connection to a database server. It usually runs on port 1521, but database administrators can choose a different port if needed. So SQL request is sent from the user process over the Oracle Net to the server process. Server process has access to both memory structures, as well as to storage structures of the database server. It will execute a SQL command, returning results back over the Oracle Net to the user process.
In a dedicated server architecture shown on this slide, each server process also has its own private memory called Program Global Area, or PGA. PGA is used to store a server's process private data not shared with other processes. This concludes the topic on Oracle Database Server architecture.