Database Instance Structures
An Oracle database uses memory structures and processes to manage and access the database. All memory structures exist in the main memory of the computers that constitute the R DBMS.
When applications connect to an Oracle database, they are connected to a database instance.
Oracle Database Processes
A process is a mechanism in an operating system that can run a series of steps. Some operating systems use the terms job, task, or thread. For the purpose of this discussion, a thread is equivalent to a process. An Oracle database instance has the following types of processes:
These processes are created and maintained to run the software code of an application program or an Oracle tool. Most environments have separate computers for client processes.
These processes consolidate functions that would otherwise be handled by multiple Oracle Database programs running for each client process. Background processes asynchronously perform I/O and monitor other Oracle Database processes to provide increased parallelism for better performance and reliability.
These processes communicate with client processes and interact with Oracle Database to fulfill requests.
Oracle processes include server processes and background processes. In most environments, Oracle processes and client processes run on separate computers.
Instance Memory Structures
Oracle Database creates and uses memory structures for purposes such as memory for program code, data shared among users, and private data areas for each connected user. The following memory structures are associated with an instance:
■System Global Area (SGA)
The SGA is a group of shared memory structures that contain data and control information for one database instance.
■Program Global Areas (PGA)
A PGA is a memory region that contain data and control information for a server or background process. Access to the PGA is exclusive to the process. Each server process and background process has its own PGA.