1 of 51

Oracle Architectural Components

1

Copyright © Oracle Corporation, 2001. All rights reserved.

2 of 51

Objectives

After completing this lesson, you should be able to do the following:

    • Outline the Oracle architecture and its main components
    • List the structures involved in connecting a user to an Oracle Instance

1-2

Copyright © Oracle Corporation, 2001. All rights reserved.

3 of 51

1-3

Copyright © Oracle Corporation, 2001. All rights reserved.

4 of 51

1-4

Copyright © Oracle Corporation, 2001. All rights reserved.

5 of 51

Overview of Primary Components

Password

file

Instance

SGA

Redo Log�Buffer

Shared Pool

Data Dictionary�Cache

Library

Cache

DBWR

SMON

PMON

CKPT

LGWR

Others

User�process

Server�process

PGA

Control files

Datafiles

Database

Database�Buffer Cache

Redo Log files

Java Pool

Large Pool

Parameter

file

Archived

Log files

1-5

Copyright © Oracle Corporation, 2001. All rights reserved.

6 of 51

1-6

Copyright © Oracle Corporation, 2001. All rights reserved.

7 of 51

Oracle Server

An Oracle server:

    • Is a database management system that provides an open, comprehensive, integrated approach to information management
    • Consists of an Oracle Instance and an Oracle database

Oracle Server

1-7

Copyright © Oracle Corporation, 2001. All rights reserved.

8 of 51

1-8

Copyright © Oracle Corporation, 2001. All rights reserved.

9 of 51

Oracle Instance

An Oracle Instance:

    • Is a means to access an Oracle database
    • Always opens one and only one database
    • Consists of memory and background process structures

Background process structures

Memory structures

Instance

SGA

Redo Log�Buffer

Shared Pool

Data Dictionary�Cache

Library

Cache

DBWR

SMON

PMON

CKPT

LGWR

Others

Database�Buffer Cache

Java Pool

Large Pool

1-9

Copyright © Oracle Corporation, 2001. All rights reserved.

10 of 51

Establishing a Connection �and Creating a Session

Connecting to an Oracle Instance:

    • Establishing a user connection
    • Creating a session

Session created

Database user

User�process

Server�process

Connection established

Oracle Server

1-10

Copyright © Oracle Corporation, 2001. All rights reserved.

11 of 51

1-11

Copyright © Oracle Corporation, 2001. All rights reserved.

12 of 51

Oracle Database

An Oracle database:

    • Is a collection of data that is treated as a unit
    • Consists of three file types

Password

file

Parameter

file

Archived

Log files

Control files

Datafiles

Redo Log files

Oracle Database

1-12

Copyright © Oracle Corporation, 2001. All rights reserved.

13 of 51

Physical Structure�

The physical structure includes three types of files:

    • Control files
    • Datafiles
    • Redo log files

Control

files

Datafiles

(includes

Data

Dictionary)

Header

Online

Redo Log

files

1-13

Copyright © Oracle Corporation, 2001. All rights reserved.

14 of 51

Memory Structure

Oracle’s memory structure consists of two memory areas known as:

    • System Global Area (SGA): Allocated at instance startup, and is a fundamental component of an Oracle Instance
    • Program Global Area (PGA): Allocated when the server process is started

1-14

Copyright © Oracle Corporation, 2001. All rights reserved.

15 of 51

System Global Area

    • The SGA consists of several memory structures:
      • Shared Pool
      • Database Buffer Cache
      • Redo Log Buffer
      • Other structures (for example, lock and latch management, statistical data)
    • There are two additional memory structures that can be configured within the SGA:
      • Large Pool
      • Java Pool

1-15

Copyright © Oracle Corporation, 2001. All rights reserved.

16 of 51

1-16

Copyright © Oracle Corporation, 2001. All rights reserved.

17 of 51

System Global Area

    • SGA is dynamic
    • Sized by the SGA_MAX_SIZE parameter
    • Allocated and tracked in granules by SGA components
      • Contiguous virtual memory allocation
      • Granule size based on total estimated SGA_MAX_SIZE

1-17

Copyright © Oracle Corporation, 2001. All rights reserved.

18 of 51

Shared Pool

    • Used to store:
      • Most recently executed SQL statements
      • Most recently used data definitions
    • It consists of two key performance-related memory structures:
      • Library Cache
      • Data Dictionary Cache
    • Sized by the parameter SHARED_POOL_SIZE

Shared Pool

Data�Dictionary

Cache

Library

Cache

ALTER SYSTEM SET

SHARED_POOL_SIZE = 64M;

1-18

Copyright © Oracle Corporation, 2001. All rights reserved.

19 of 51

Library Cache

    • Stores information about the most recently used SQL and PL/SQL statements
    • Enables the sharing of commonly used statements
    • Is managed by a least recently used (LRU) algorithm
    • Consists of two structures:
      • Shared SQL area
      • Shared PL/SQL area
    • Size determined by the Shared Pool sizing

1-19

Copyright © Oracle Corporation, 2001. All rights reserved.

20 of 51

Data Dictionary Cache

    • A collection of the most recently used definitions in the database
    • Includes information about database files, tables, indexes, columns, users, privileges, and other database objects
    • During the parse phase, the server process looks at the data dictionary for information to resolve object names and validate access
    • Caching data dictionary information into memory improves response time on queries and DML
    • Size determined by the Shared Pool sizing

1-20

Copyright © Oracle Corporation, 2001. All rights reserved.

21 of 51

Database Buffer Cache

    • Stores copies of data blocks that have been retrieved from the datafiles
    • Enables great performance gains when you obtain and update data
    • Managed through an LRU algorithm
    • DB_BLOCK_SIZE determines primary block size

Database Buffer�Cache

1-21

Copyright © Oracle Corporation, 2001. All rights reserved.

22 of 51

Database Buffer Cache

    • Consists of independent sub-caches:
      • DB_CACHE_SIZE
      • DB_KEEP_CACHE_SIZE
      • DB_RECYCLE_CACHE_SIZE
    • Can be dynamically resized

    • DB_CACHE_ADVICE set to gather statistics for predicting different cache size behavior
    • Statistics displayed by V$DB_CACHE_ADVICE

ALTER SYSTEM SET DB_CACHE_SIZE = 96M;

1-22

Copyright © Oracle Corporation, 2001. All rights reserved.

23 of 51

1-23

Copyright © Oracle Corporation, 2001. All rights reserved.

24 of 51

Redo Log Buffer

    • Records all changes made to the database data blocks
    • Primary purpose is recovery
    • Changes recorded within are called redo entries
    • Redo entries contain information to reconstruct or redo changes
    • Size defined by LOG_BUFFER

Redo Log�Buffer

1-24

Copyright © Oracle Corporation, 2001. All rights reserved.

25 of 51

Large Pool

    • An optional area of memory in the SGA
    • Relieves the burden placed on the Shared Pool
    • Used for:
      • Session memory (UGA) for the Shared Server
      • I/O server processes
      • Backup and restore operations or RMAN
      • Parallel execution message buffers
        • PARALLEL_AUTOMATIC_TUNING set to TRUE
    • Does not use an LRU list
    • Sized by LARGE_POOL_SIZE

1-25

Copyright © Oracle Corporation, 2001. All rights reserved.

26 of 51

1-26

Copyright © Oracle Corporation, 2001. All rights reserved.

27 of 51

Java Pool

    • Services parsing requirements for Java commands
    • Required if installing and using Java
    • Sized by JAVA_POOL_SIZE parameter

1-27

Copyright © Oracle Corporation, 2001. All rights reserved.

28 of 51

Program Global Area

    • Memory reserved for each user process connecting to an Oracle database
    • Allocated when a process is created
    • Deallocated when the process is terminated
    • Used by only one process

User�process

PGA

Server�process

1-28

Copyright © Oracle Corporation, 2001. All rights reserved.

29 of 51

1-29

Copyright © Oracle Corporation, 2001. All rights reserved.

30 of 51

1-30

Copyright © Oracle Corporation, 2001. All rights reserved.

31 of 51

Process Structure

Oracle takes advantage of various types of processes:

    • User process: Started at the time a database user requests connection to the Oracle server
    • Server process: Connects to the Oracle Instance and is started when a user establishes a session
    • Background processes: Started when an Oracle Instance is started

1-31

Copyright © Oracle Corporation, 2001. All rights reserved.

32 of 51

User Process

    • A program that requests interaction with the Oracle server
    • Must first establish a connection
    • Does not interact directly with the Oracle server

Database user

Server�process

User�process

Connection�established

1-32

Copyright © Oracle Corporation, 2001. All rights reserved.

33 of 51

Server Process

    • A program that directly interacts with the Oracle server
    • Fulfills calls generated and returns results
    • Can be Dedicated or Shared Server

Connection established

Session created

Database user

User�process

Server�process

Oracle server

1-33

Copyright © Oracle Corporation, 2001. All rights reserved.

34 of 51

Background Processes

Maintains and enforces relationships between physical and memory structures

    • Mandatory background processes:
      • DBWn PMON CKPT
      • LGWR SMON
    • Optional background processes:
      • ARCn LMDn RECO
      • CJQ0 LMON Snnn
      • Dnnn Pnnn
      • LCKn QMNn

1-34

Copyright © Oracle Corporation, 2001. All rights reserved.

35 of 51

Database Writer (DBWn)

DBWn writes when:

    • Checkpoint occurs
    • Dirty buffers reach threshold
    • There are no free buffers
    • Timeout occurs
    • RAC ping request is made
    • Tablespace OFFLINE
    • Tablespace READ ONLY
    • Table DROP or TRUNCATE
    • Tablespace BEGIN BACKUP

Instance

SGA

Control files

Datafiles

Redo Log files

Database

DBWn

Database

Buffer�Cache

1-35

Copyright © Oracle Corporation, 2001. All rights reserved.

36 of 51

Log Writer (LGWR)

LGWR writes:

    • At commit
    • When one-third full
    • When there is 1 MB of redo
    • Every three seconds
    • Before DBWn writes

Instance

SGA

Control files

Datafiles

Redo Log files

Database

Redo Log

Buffer

DBWn

LGWR

1-36

Copyright © Oracle Corporation, 2001. All rights reserved.

37 of 51

System Monitor (SMON)

Responsibilities:

    • Instance recovery
      • Rolls forward changes in redo logs
      • Opens database for user access
      • Rolls back uncommitted transactions
    • Coalesces free space
    • Deallocates temporary segments

Control files

Datafiles

Redo Log files

Database

Instance

SGA

SMON

1-37

Copyright © Oracle Corporation, 2001. All rights reserved.

38 of 51

Process Monitor (PMON)

Cleans up after

failed processes by:

    • Rolling back the transaction
    • Releasing locks
    • Releasing other resources
    • Restarting dead dispatchers

PGA area

Instance

SGA

PMON

1-38

Copyright © Oracle Corporation, 2001. All rights reserved.

39 of 51

Checkpoint (CKPT)

Responsible for:

    • Signaling DBWn at checkpoints
    • Updating datafile headers with checkpoint information
    • Updating control files with checkpoint information

Control files

Datafiles

Redo Log files

Database

Instance

SGA

DBWn

LGWR

CKPT

1-39

Copyright © Oracle Corporation, 2001. All rights reserved.

40 of 51

Archiver (ARCn)

    • Optional background process
    • Automatically archives online redo logs when ARCHIVELOG mode is set
    • Preserves the record of all changes made to the database

ARCn

Archived Redo Log files

Control files

Datafiles

Redo Log files

1-40

Copyright © Oracle Corporation, 2001. All rights reserved.

41 of 51

1-41

Copyright © Oracle Corporation, 2001. All rights reserved.

42 of 51

Logical Structure

    • Dictates how the physical space of a database is used
    • Hierarchy consisting of tablespaces, segments, extents, and blocks

Tablespace

Datafile

Segment

Blocks

Extent

Segment

1-42

Copyright © Oracle Corporation, 2001. All rights reserved.

43 of 51

1-43

Copyright © Oracle Corporation, 2001. All rights reserved.

44 of 51

1-44

Copyright © Oracle Corporation, 2001. All rights reserved.

45 of 51

Processing SQL Statements

    • Connect to an instance using:
      • User process
      • Server process
    • The Oracle server components that are used depend on the type of SQL statement:
      • Queries return rows
      • DML statements log changes
      • Commit ensures transaction recovery
    • Some Oracle server components do not participate in SQL statement processing

1-45

Copyright © Oracle Corporation, 2001. All rights reserved.

46 of 51

1-46

Copyright © Oracle Corporation, 2001. All rights reserved.

47 of 51

Summary

In this lesson, you should have learned how to:

    • Explain database files: datafiles, control files, online redo logs
    • Explain SGA memory structures: Database Buffer Cache, Shared Pool, and Redo Log Buffer
    • Explain primary background processes: �DBWn, LGWR, CKPT, PMON, SMON
    • Explain the use of the background process ARCn
    • Identify optional and conditional background processes
    • Explain logical hierarchy

1-47

Copyright © Oracle Corporation, 2001. All rights reserved.

48 of 51

Practice 1 Overview

This practice covers the following topics:

    • Review of architectural components
    • Structures involved in connecting a user to an Oracle Instance

1-48

Copyright © Oracle Corporation, 2001. All rights reserved.

49 of 51

1-49

Copyright © Oracle Corporation, 2001. All rights reserved.

50 of 51

1-50

Copyright © Oracle Corporation, 2001. All rights reserved.

51 of 51

1-51

Copyright © Oracle Corporation, 2001. All rights reserved.