Instance Architecture   «Prev  Next»

Lesson 1

Oracle Instance Architecture

This module explains the moving parts that make a running Oracle database work. After completing it, you will be able to:

  1. Explain the difference between a database and an instance.
  2. Identify major background processes and what they do.
  3. List an instance’s processes and memory components using quick checks.
  4. Recognize modern memory settings and avoid legacy parameters.

Instance vs. Database

An instance is a set of memory structures and background processes (SGA + background tasks). A database is the set of physical files (datafiles, control files, redo logs, etc.). Clients talk to the instance; the instance reads/writes the database files.

Memory Architecture at a Glance

The instance allocates the System Global Area (SGA) and each server process uses its own Program Global Area (PGA).

Oracle SGA: 1) Buffer cache, 2) SGA overview, 3) Shared pool (library & data dictionary caches)
Key SGA components: 1) Buffer cache, 2) Overall SGA, 3) Shared pool (library & dictionary caches).

Background Processes (core set)

How work flows (simplified)

  1. Server process parses SQL (shared pool), reads needed blocks (buffer cache).
  2. Changes are made in memory; redo is generated in the redo buffer.
  3. COMMIT → LGWR flushes redo; commit completes.
  4. Dirty buffers are written later by DBWn; checkpoints bound recovery work.

Oracle 19c DBA on AWS

Quick checks you’ll use all the time

Which instance and database?


-- Instance identity and status
SELECT instance_name, host_name, version, status
FROM   v$instance;

-- Database identity
SELECT name, dbid, open_mode, database_role
FROM   v$database;

Background processes (concise list)


-- Background process names (non-null, running)
SELECT pname
FROM   v$bgprocess
WHERE  paddr IS NOT NULL
ORDER  BY pname;

SGA components (current sizes)


SELECT component,
       ROUND(current_size/1024/1024) AS size_mb
FROM   v$sga_dynamic_components
WHERE  current_size > 0
ORDER  BY component;

From the OS (Linux):


ps -ef | grep -E "ora_.*|pmon|smon|lgwr|dbw" | grep -v grep

11gR2 vs. 19c (what actually changed for instances)

Modern memory management (skip legacy knobs)

Practice prompts

Try these in your lab:


-- Show key memory targets
SHOW PARAMETER memory_target
SHOW PARAMETER sga_target
SHOW PARAMETER pga_aggregate_target

-- See redo buffer size
SHOW PARAMETER log_buffer

SEMrush Software 1 SEMrush Banner 1