This module discusses the processes that make a running Oracle database work. After completing this module, you will be able to:
Explain the difference between a database and an instance
Identify the major background processes of an Oracle instance, and explain their purpose
Display a list of the Oracle background processes that are currently running on your server
Identify the instances running on your system based on a listing of process names
The first thing to understand is the difference between a database and an instance.
Instance versus database
Components of an instance
Creating the OFA file structure ($DBA, bdump, udump, pfile) will be discussed later in this module
Oracle Instance running in Oracle 11g R2 versus Oracle 19c
The concept of an "Oracle Instance" remains fundamentally the same between Oracle 11g R2 and Oracle 19c. An Oracle Instance refers to the set of background processes and memory structures that manage the database files. However, there are some advancements and enhancements in Oracle 19c compared to Oracle 11g R2. Here are the key similarities and differences:
Similarities
Core Components: Both Oracle 11g R2 and Oracle 19c include core components of an instance such as the System Global Area (SGA) and background processes (like DBWn, LGWR, CKPT, SMON, and PMON).
Instance and Database Separation: The instance is still separate from the physical database and manages database access.
Memory Management: Automatic Memory Management (AMM) and automatic shared memory tuning features are present in both versions.
Differences
New Background Processes: Oracle 19c introduces additional background processes to support new features and enhanced functionality, such as processes related to sharding, multi-tenant architecture (Container and Pluggable Databases), and other high-availability mechanisms.
Pluggable Databases (PDBs): Oracle 19c introduces the multi-tenant architecture, which means an Oracle Instance in a multi-tenant setup manages one or more PDBs under a Container Database (CDB). This feature is not available in Oracle 11g R2.
Advanced Memory Management: Oracle 19c has more sophisticated memory management capabilities, including In-Memory Column Store and better tuning for large memory configurations.
Performance Enhancements: Oracle 19c offers performance improvements, including enhancements to the query optimizer, improved caching mechanisms, and in-memory processing.
Cloud-Enabled Features: Oracle 19c is designed to integrate better with Oracle Cloud, providing features and optimizations for cloud deployments, which are not present in Oracle 11g R2.
In summary, while the fundamental definition of an Oracle Instance remains consistent, Oracle 19c comes with additional processes and architectural enhancements to support new features like the multi-tenant architecture, cloud capabilities, and performance improvements.
When an instance is started, Oracle Database allocates a memory area called the system global area (SGA) and starts one or more background processes.
The SGA serves various purposes, including the following:
Maintaining internal data structures that are accessed by many processes and threads concurrently
Caching data blocks read from disk
Buffering redo data before writing it to the online redo log files
Storing SQL execution plans
The SGA is shared by the Oracle processes, which include server processes and background processes, running on a single computer.
The way in which Oracle processes are associated with the SGA is dependent on the operating system.
A database instance includes
background processes,
server processes, and
the process memory
allocated in these processes
The instance continues to function when server processes terminate.
The large shared memory segment, the SGA, contains the following major components:
The buffer cache, which is a cache of disk blocks, very similar to the file system cache found in most operating systems. Blocks are always read and written in sizes of the Oracle Block Size, which is defined, when the database is created, although
tablespaces can be added with a different block size.
The shared pool, which contains two main components.
The library cache, which is a cache of SQL statements, etc.
The dictionary cache, which caches Oracle own internal information, such as information about users and tables.