0% found this document useful (0 votes)
37 views34 pages

DBA - Lesson 1-1

The document discusses the main components and structures of the Oracle database architecture including processes like SMON, PMON, RECO, DBWn, LGWR, CKPT, ARCn and memory structures like the system global area (SGA), program global area (PGA), shared pool, database buffer cache, redo log buffer. It explains how these components interact and work together to manage connections, sessions, and memory allocation when interacting with an Oracle database.

Uploaded by

fatim369a
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views34 pages

DBA - Lesson 1-1

The document discusses the main components and structures of the Oracle database architecture including processes like SMON, PMON, RECO, DBWn, LGWR, CKPT, ARCn and memory structures like the system global area (SGA), program global area (PGA), shared pool, database buffer cache, redo log buffer. It explains how these components interact and work together to manage connections, sessions, and memory allocation when interacting with an Oracle database.

Uploaded by

fatim369a
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

CSC217

DATA
ADMINISTRATION
(Lecture 2)

by
Dr. Mohammed Abdualgader al-Aidroos
Oracle Database Architecture: Overview
Instance

SMON PMON RECO Others

SGA Shared pool

Library
Database cache
Redo log
buffer
buffer
cache Data dictionary
cache

Server
DBW n CKPT LGWR ARCn
process

User Archived
process Control Online redo log files
Data files files log files
Database
Oracle Database Architecture:
Overview
• SMON (System Monitor): It is an important process responsible for recovering
Oracle Instance. If this process does not work, the database is down.
• PMON (Process Monitor): This process frees up system resources that are used by
processes that have failed or are suddenly terminated, and will give back this
resources to the server.
• RECO (Recoverer Process): This process enables the completion of unfinished
operations.
• DBWn (Database Writer): The DBW process is a process that shuttles between
Datafiles and Database Buffer Cache.
• LGWR (Log Writer Process): This process is a process that writes the data in the
buffer memory to physical files like DBW process.
• CKPT (Checkpoint Process): When this process is triggered, the Database Writer
(DBW) process writes dirty blocks in the database buffer cache to datafiles. It also
updates the header information of Datafiles.
• ARCn ( archiver process ): This is a process that is activated when the database is
in archive mode.
• System Global Area(SGA).
• program global area (PGA).
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 Server
SQL> Select … process process
User
Session

Connection

Session
Interacting with an Oracle Database
Instance
User Server
process process SGA
Shared pool

Library
Database cache
Redo log
buffer
buffer
cache Data dictionary
cache

DBW n CKPT LGWR SMON PMON ARCn RECO Others

User
Oracle Database Server Structures
Instance
Memory structures SGA Shared pool

Library
Database cache
User Server Redo log
buffer
process process buffer
cache Data dictionary
cache

Processes DBW n CKPT LGWR SMON PMON ARCn RECO Others

Database

Storage structures

Control Online redo


Data files files log files
Oracle Database DB structures
Memory

Memory Structures - Process


- Storage

Server Server Background


PGA PGA PGA
process 1 process 2 process

Data dictionary SGA


Shared
cache
SQL area

Library Other
cache

Redo log Shared pool


buffer
Free
Database buffer I/O buffer
memory
cache
Response Request
Java pool Streams queue queue
pool Large pool
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 Shared pool

Library
Database cache
Redo log
buffer
buffer
cache Data dictionary
cache

DBW n CKPT LGWR SMON PMON ARCn 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 Shared pool

Library
Database cache
Redo log
buffer
buffer
cache Data dictionary
cache

DBWn CKPT LGWR SMON PMON ARCn RECO Others


Shared Pool

– Is a portion of the SGA


– Contains:
• Library cache
– Shared SQL area
• Data dictionary cache
• Control structures
Instance

SGA Shared
Shared pool
SQL area Data dictionary
Library cache
Database cache
Redo log
buffer
buffer
cache Data dictionary
cache Library Other
cache
DBW n CKPT LGWR SMON PMON ARCn RECO Others
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.

Data dictionary
Shared
cache
Server SQL area
process
Library Other
cache

Shared
pool
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
Redo log
buffer Shared pool
buffer
cache

Free
I/O buffer
memory
Response Request
queue queue
Java pool Streams Large pool
pool Large pool
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 Streams pool


Process Architecture
DB structures
- Memory
 Process
– User process - Storage

• 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 Shared pool

Library
Database cache
Redo log
buffer
buffer
PGA cache Data dictionary
cache
User Server
process process Background processes
DBW n CKPT LGWR SMON PMON ARCn RECO Others
Process Structures
Server Server Server Server Server
Server n
processes
SGA
Shared pool
Library
Database
Redo log cache
buffer
buffer SGA
cache Data dictionary
cache

CKPT RECO PMON SMON DBW n LGWR ARCn Others


Oracle
background
processes
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

DBW n

Database buffer Database writer Data files


cache process
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 LogWriter process Redo log files


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

DBW n

Database buffer Database writer Data files


cache process
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 LogWriter process Redo log files


Checkpoint Process (CKPT)

– Records checkpoint information in


• Control file
• Each data file header

CKPT Control file

Checkpoint
process

Data files
System Monitor Process (SMON)
– Performs recovery at instance startup
– Cleans up unused temporary segments

Instance
SMON

System Monitor
process

Temporary
segment
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 User
Failed user process
Process Monitor
process
Database buffer
cache
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-doubt transaction


in database A in database B
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 Copies of redo log Archive destination


files
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
Server Process and Database
Buffer Cache
• Buffers:
SGA – Pinned
Server – Clean
Database
process
buffer – Free or unused
cache – Dirty

DBW n

Database
Data files writer process
DB structures

Database Storage Architecture - Memory


- Process
 Storage

Control files Data files Online redo log files

Parameter file Backup files Archived redo log


files

Password file Alert log and trace files


Logical and Physical Database
Structures
Logical Physical

Database

Schema Tablespace Data file

Segment

Extent

Oracle data
OS block
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
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).
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 Extents Data Disk blocks


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
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

You might also like