RelationalDBDesign RelationalDBDesign





Instance Architecture   «Prev  Next»
Lesson 1

Introduction to Oracle Instance Architecture

This module is about the processes that make a running Oracle database work. After completing this module, you will be able to:
  1. Explain the difference between a database and an instance
  2. Identify the major background processes of an Oracle instance, and explain their purpose
  3. Display a list of the Oracle background processes that are currently running on your server
  4. 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.

  1. Instance versus database
  2. Components of an instance
  3. Creating the OFA file structure ($DBA, bdump, udump, pfile) will be discussed later in this module


Database Instance Structure

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:
  1. Maintaining internal data structures that are accessed by many processes and threads concurrently
  2. Caching data blocks read from disk
  3. Buffering redo data before writing it to the online redo log files
  4. 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
  1. background processes,
  2. server processes, and
  3. the process memory
allocated in these processes
The instance continues to function when server processes terminate.

1) Buffer cache, 2) SGA, and 3) Shared Pool
1) Buffer cache, 2) SGA, and 3) Shared Pool

The large shared memory segment, the SGA, contains the following major components:
  1. 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.
  2. The shared pool, which contains two main components.
  3. The library cache, which is a cache of SQL statements, etc.
  4. The dictionary cache, which caches Oracle own internal information, such as information about users and tables.