Oracle Server Architecture - Primary Components
Well... most of the components themselves comprise of so many other logical components. Let's start with the major components first and the we'll dive deep into the details of the sub-components of each of these components.
Oracle Server - what's it?
It's a DBMS that facilitates a comprehensive management of information. It provides an open and integrated approach towards information management.
Components of Oracle Server
It is made up of two main components:-
- Oracle Instance: this is not the actual database, but you can not access the actual DB directly and you need to use this component to access the DB. It can have only one DB open and connected to it. This component is responsible for facilitating all the memory and process structures, which are used for the smooth and expected execution of the Oracle DB. The memory structure consists of two memory areas: One, SGA (System Global Area) and Two, PGA (Program Global Area). SGA is the fundamental component of an Oracle Instance and is allocated at the time of Instance startup, whereas the other memory area, PGA is allocated when the server process is started. PGA is basically the memory area reserved for every user process which connects to the underlying Oracle DB. It is allocated at the time of process creation and gets de-allocated when the process terminates. User processes are the processes which are started at a time when an user tries to establish connection with the Oracle Server. Server processes are the processes are used to connect to the Oracle Instance in response to a user process requesting for the connection and it establishes the session as well. Background processes are the processes which are used for doing periodic and routine activities. They get started when the Oracle Instance is started and they keep running in the background since then. The background processes include five mandatory processes and many other optional background processes. Mandatory Background Processes are: PMON (Process Monitor), SMON (System Monitor), CKPT (Checkpoint), LGWR (Log Writer), and DBWR (Database Writer). Details of these mandatory background processes and other optional processes will make this article too big, so I'll post them separately.
- Oracle Database: as the name suggests, it's the actual DB which stores the data. Putting it differently, Oracle DB is a collection of data and this data is treated as a unit. The physical structure of Oracle DB includes three types of files which are Datafiles, Control Files, and Redo Log files. The logical structure of an Oracle DB can be seen as a hierarchy, which includes Tablespaces, Segments, Extents, and Blocks. Tablespace is right at the top of the hierarchy and it consists of segments, which are themseves made of extents. These extents are made up of sevaral blocks and these blocks are finally used for storing the information.