Exploring the Oracle Database Architecture
Copyright © 2007, Oracle. All rights reserved.
Objectives
After completing this lesson, you should be able to:
• List the major architectural components of Oracle
Database
• Explain the memory structures
• Describe the background processes
• Correlate the logical and physical storage structures
1-2
Copyright © 2007, Oracle. All rights reserved.
Oracle Database
The Oracle relational database management system
(RDBMS) provides an open, comprehensive, integrated
approach to information management
1-3
Copyright © 2007, Oracle. All rights reserved.
Connecting to a Server
Client
Middle tier
Multitier architecture shown
1-4
Copyright © 2007, Oracle. All rights reserved.
Server
Oracle Database Architecture: Overview
Instance
SMON
PMON
RECO
SGA
Shared pool
Database
buffer
cache
Redo log
buffer
DBWn
CKPT
PGA
Server
process
User
process
Data files
Others
Control
files
Library
cache
Data dictionary
cache
LGWR
Online redo
log files
Database
1-6
Copyright © 2007, Oracle. All rights reserved.
ARCn
Archived
log files
Connecting to the Database
• Connection: Communication between a user process
and an instance
• Session: Specific connection of a user to an instance
through a user process
User
SQL> Select …
User
process
Server
process
Connection
Session
1-7
Copyright © 2007, Oracle. All rights reserved.
Session
Interacting with an Oracle Database
Instance
User
process
Server
process
SGA
Shared pool
Database
buffer
cache
DBWn CKPT
Redo log
buffer
Data dictionary
cache
LGWR SMON PMON
User
1-8
Library
cache
Copyright © 2007, Oracle. All rights reserved.
ARCn
RECO Others
Oracle Database Server Structures
Instance
Memory structures
User
process
SGA
Database
buffer
cache
Server
process
Processes
DBWn
CKPT
LGWR
Shared pool
Redo log
buffer
SMON
PMON
Library
cache
Data dictionary
cache
ARCn
RECO Others
Database
Storage structures
Data files
1 - 10
Control
files
Copyright © 2007, Oracle. All rights reserved.
Online redo
log files
Oracle Database
Memory Structures
Server
process 1
Server
process 2
PGA
Library
cache
Database buffer
cache
1 - 11
Data dictionary
cache
Other
Shared pool
Redo log
buffer
Java
pool
Background
process
PGA
Shared
SQL area
DB structures
Memory
- Process
- Storage
Streams
pool
I/O buffer
Free
memory
Response
queue
Request
queue
Large pool
Copyright © 2007, Oracle. All rights reserved.
PGA
SGA
Database Buffer Cache
• Is part of the SGA
• Holds copies of data blocks that are read from data files
• Is shared by all concurrent users
Instance
SGA
Database
buffer
cache
DBWn
1 - 13
CKPT
Shared pool
Redo log
buffer
LGWR SMON
PMON
Library
cache
Data dictionary
cache
ARCn
Copyright © 2007, Oracle. All rights reserved.
RECO Others
Redo Log Buffer
• Is a circular buffer in the SGA
• Holds information about changes made to the database
• Contains redo entries that have the information to redo
changes made by operations such as DML and DDL
Instance
SGA
Database
buffer
cache
DBWn
1 - 14
CKPT
LGWR
Shared pool
Redo log
buffer
SMON
Library
cache
Data dictionary
cache
PMON ARCn
Copyright © 2007, Oracle. All rights reserved.
RECO Others
Shared Pool
• Is a portion of the SGA
• Contains:
– Library cache
—
Shared SQL area
– Data dictionary cache
– Control structures
Instance
SGA
Database
buffer
cache
DBWn
1 - 15
CKPT
LGWR
Shared pool
Redo log
buffer
SMON
Shared
SQL area
Library
cache
Data dictionary
cache
PMON ARCn
RECO Others
Copyright © 2007, Oracle. All rights reserved.
Library
cache
Data dictionary
cache
Other
Allocation and Reuse of Memory
in the Shared Pool
• Server process checks the shared pool to see if a
shared SQL area already exists for an identical
statement.
• Server process allocates a private SQL area on behalf of
the session.
Server
process
Shared
SQL area
Library
cache
Data dictionary
cache
Other
Shared
pool
1 - 17
Copyright © 2007, Oracle. All rights reserved.
Large Pool
Provides large memory allocations for:
• Session memory for the shared server and the Oracle
XA interface
• I/O server processes
• Oracle Database backup and restore operations
Database
buffer
cache
Java
pool
1 - 19
Redo log
buffer
Streams
pool
Shared pool
Large pool
I/O buffer
Free
memory
Response
queue
Request
queue
Large pool
Copyright © 2007, Oracle. All rights reserved.
Java Pool
and Streams Pool
• Java pool memory is used in server memory for all
session-specific Java code and data in the JVM.
• Streams pool memory is used exclusively by Oracle
Streams to:
–
–
Store buffered queue messages
Provide memory for Oracle Streams processes
Java pool
1 - 20
Copyright © 2007, Oracle. All rights reserved.
Streams pool
Process Architecture
DB structures
- Memory
 Process
- Storage
• User process
– Is started when a database user or a batch process
connects to Oracle Database
• Database processes
– Server process: Connects to the Oracle instance and is
started when a user establishes a session
– Background processes: Are started when an Oracle
instance is started
Instance
SGA
Database
buffer
cache
PGA
User
process
Server
process
Redo log
buffer
Library
cache
Data dictionary
cache
Background processes
DBWn
1 - 21
Shared pool
CKPT
LGWR
SMON
Copyright © 2007, Oracle. All rights reserved.
PMON ARCn
RECO Others
Process Structures
Server
Server
Server
Server
Server
Server n
processes
SGA
Database
buffer
cache
CKPT
RECO
Shared pool
Redo log
buffer
Library
cache
SGA
Data dictionary
cache
PMON
SMON
DBWn
LGWR
ARCn
Others
Oracle
background
processes
1 - 22
Copyright © 2007, Oracle. All rights reserved.
Database Writer Process (DBWn)
Writes modified (dirty) buffers in the database buffer cache
to disk:
• Asynchronously while performing other processing
• Periodically to advance the checkpoint
DBWn
Database buffer
cache
1 - 24
Database writer
process
Copyright © 2007, Oracle. All rights reserved.
Data files
LogWriter Process (LGWR)
• Writes the redo log buffer to a redo log file on disk
• Writes:
– When a user process commits a transaction
– When the redo log buffer is one-third full
– Before a DBWn process writes modified buffers to disk
LGWR
Redo log buffer
1 - 26
LogWriter process
Copyright © 2007, Oracle. All rights reserved.
Redo log files
Checkpoint Process (CKPT)
• Records checkpoint information in
– Control file
– Each data file header
CKPT
Control file
Checkpoint
process
Data files
1 - 28
Copyright © 2007, Oracle. All rights reserved.
System Monitor Process (SMON)
• Performs recovery at instance startup
• Cleans up unused temporary segments
SMON
Instance
System Monitor
process
Temporary
segment
1 - 29
Copyright © 2007, Oracle. All rights reserved.
Process Monitor Process (PMON)
• Performs process recovery when a user process fails
– Cleans up the database buffer cache
– Frees resources that are used by the user process
• Monitors sessions for idle session timeout
• Dynamically registers database services with listeners
PMON
Process Monitor
process
1 - 30
User
Failed user
process
Database buffer
cache
Copyright © 2007, Oracle. All rights reserved.
Recoverer Process
• Used with the distributed database configuration
• Automatically connects to other databases involved in
in-doubt distributed transactions
• Automatically resolves all in-doubt transactions
• Removes any rows that correspond to in-doubt
transactions
RECO
Recoverer process
in database A
1 - 31
In-doubt transaction
in database B
Copyright © 2007, Oracle. All rights reserved.
Archiver Processes (ARCn)
• Copy redo log files to a designated storage device after
a log switch has occurred
• Can collect transaction redo data and transmit that data
to standby destinations
ARCn
Archiver process
1 - 32
Copies of redo log
files
Copyright © 2007, Oracle. All rights reserved.
Archive destination
Other Processes
• MMON: Performs manageability-related background
tasks
• MMNL: Performs frequent and lightweight
manageability-related tasks
• MMAN: Performs automatic memory management tasks
• CJQ0: Runs user jobs used in batch processing
• QMNx: Monitors the Streams Advanced Queuing
message queues
1 - 33
Copyright © 2007, Oracle. All rights reserved.
Server Process and Database
Buffer Cache
SGA
Server
process
Database
buffer
cache
Buffers:
• Pinned
• Clean
• Free or unused
• Dirty
DBWn
Data files
1 - 35
Database
writer
process
Copyright © 2007, Oracle. All rights reserved.
Database Storage Architecture
DB structures
- Memory
- Process
 Storage
Control files
Data files
Online redo log files
Parameter file
Backup files
Archived redo log
files
Password file
1 - 36
Alert log and trace files
Copyright © 2007, Oracle. All rights reserved.
Logical and Physical Database Structures
Logical
Physical
Database
Schema
Tablespace
Data file
Segment
Extent
Oracle data
block
1 - 38
Copyright © 2007, Oracle. All rights reserved.
OS block
Tablespaces and Data Files
• Tablespaces consist of one or more data files.
• Data files belong to only one tablespace.
Data file 1
Data file 2
USERS tablespace
1 - 40
Copyright © 2007, Oracle. All rights reserved.
SYSTEM and SYSAUX Tablespaces
• The SYSTEM and SYSAUX tablespaces are mandatory
tablespaces that are created at the time of database
creation. They must be online.
• The SYSTEM tablespace is used for core functionality
(for example, data dictionary tables).
• The auxiliary SYSAUX tablespace is used for additional
database components (such as the Enterprise Manager
Repository).
1 - 41
Copyright © 2007, Oracle. All rights reserved.
Segments, Extents, and Blocks
•
•
•
•
Segments exist in a tablespace.
Segments are collections of extents.
Extents are collections of data blocks.
Data blocks are mapped to disk blocks.
Segment
1 - 42
Extents
Data
blocks
Copyright © 2007, Oracle. All rights reserved.
Disk
blocks
Database Architecture:
Summary of Structural Components
• Memory structures:
– System Global Area (SGA): Database buffer cache, redo
buffer, and various pools
– Program Global Area (PGA)
• Process structures:
– User process and server process
– Background processes: SMON, PMON, DBWn, CKPT,
LGWR, ARCn, and so on
• Storage structures:
– Logical: Database, schema, tablespace, segment, extent,
and Oracle block
– Physical: Data files, control files, and redo log files
1 - 43
Copyright © 2007, Oracle. All rights reserved.
Summary
In this lesson, you should have learned how to:
• List the major architectural components of Oracle
Database
• Explain the memory structures
• Describe the background processes
• Correlate the logical and physical storage structures
1 - 44
Copyright © 2007, Oracle. All rights reserved.
Practice 1: Overview
This is a paper practice with questions about:
• Database architecture
• Memory
• Processes
• File structures
1 - 45
Copyright © 2007, Oracle. All rights reserved.