{Title} {Sub-title}

Download Report

Transcript {Title} {Sub-title}

Chapter 21 SGA Architecture and Wait Event
2008. 07. 25.
Summarized & Presented by Yeon JongHeum
IDS Lab., Seoul National University
Primary Components of Oracle
Copyright  2008 by CEBT
2
System Global Area(SGA)
 Memory Structure of Instance
 Shared Pool

Used to store the most recently executed SQL

Used to Most recently used data definitions
 Database Buffer Cache

Stores copies of data block that have been retrieved from the
data files
 Redo Log Buffer Cache

Records all changes made to the database data blocks
Copyright  2008 by CEBT
3
Shared Pool
 Library cache

Contains statement text, parsed code, and execution plan
 Data dictionary cache

Contains definitions for tables, columns, and privileges from the
data dictionary tables
 UGA

Session information for Oracle Shared Server user when large
pool is not configured
Copyright  2008 by CEBT
4
Library Cache
 Used to store SQL statements and PL/SQL blocks to be shared
by users
 Managed by an LRU algorithm
 Used to prevent statement reparsing
Copyright  2008 by CEBT
5
Tuning Shared Pool
 Shared Pool Size

SHARED_POOL_SIZE

SHARED_POOL_RESERVED_SIZE

V$SHARED_POOL_RESERVED
 Wait Event

V$SESSION_WAIT or Statspack

Latch Free Wait Event

Library Cache Load Lock Wait Event

Library Cache Lock Wait Event
Copyright  2008 by CEBT
6
Database Buffer Cache
 Stores copies of data block and rollback block for caching that
have been retrieved from the data files that server read
 Enables great performance gains when you obtain and update
data
 Managed through a least recently used(LRU) algorithm
Copyright  2008 by CEBT
7
Diagnostic Tools for DB Buffer Cache
Copyright  2008 by CEBT
8
Latch of Database Buffer Cache
 Cache Buffer Chain Latch

Guarantee buffer header serialize access(protect hash chain)

Processes need to acquire latch to get buffer header lock

Assign to each Hash Bucket
 Cache Buffer LRU Chain Latch

Guarantee LRU list serialize access

Assign to each LRU List
Copyright  2008 by CEBT
9
Tuning Database Buffer Cache


Sizing Database Buffer Cache

DB_CACHE_SIZE

DB_KEEP_CACHE_SIZE

DB_RECYCLE_CACHE_SIZE
Wait Event

Buffer Busy Wait Event

Free Buffer Wait Event

Local Write Wait Event

Buffer Dead Lock Wait Event

Direct Path Write Wait Event

Direct Path Read Wait Event

Write Complete Wait Event
Copyright  2008 by CEBT
10
Redo Log Buffer

Processes copy redo entries from the user’s memory space to
the redo log buffer for each DML or DDL statement

The redo entries contain the information necessary to
reconstruct or redo changes made to the database by INSERT,
UPDATE , DELETE CREATE, ALTER, or DROP operations.

Used for database recovery

Take up continuous, sequential space in the buffer
Copyright  2008 by CEBT
11
Latch of Redo Log Buffer
 Redo Copy Latch

Write log data to redo log buffer

Two times of CPU number
 Redo Allocation Latch

Check and assign free spaces of redo log buffer to processes

Write log data order by time

Only one in the database
 Redo Writing Latch

Write data of redo log buffer to redo log file by LGWR

Guarantee that only one LGWR executes
Copyright  2008 by CEBT
12
Tuning Redo Log Buffer


Sizing the Redo Log Buffer

Adjust the LOG_BUFFER parameter

Default value : OS-specific, generally 500k
Wait Event

Log Buffer Space Wait Event

LGWR Wait For Redo Copy Wait Event

Log File Sequential Redo Wait Event

Log File Parallel Write Wait Event

Log File Single Write Wait Event

Log File Sync Wait Event

Log File Switch Completion Wait Event

Log File Switch(Check Incomplete) Wait Event

Log File Switch(Archive Needed) Wait Event

Log File Switch(Clear Log File) Wait Event

Switch Log File Command Wait Event

Redo Switch/Archive Wait Event
Copyright  2008 by CEBT
13