SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Oracle Instance Architecture
CIS417
Oracle
Architecture
Overview
Oracle Architecture
The Oracle Server
Oracle Architecture
Instance Architecture
Shared pool
Library
Cache
Data
Dictionary
Cache
Redo
Log
Buffer
Database
Buffer
Cache
SGA
Instance
DBWR LGWR SMON PMON ARCn
RECO CKPT LCKn SNPn Dnnn
Snnn
Oracle Architecture
Instance
 An Oracle instance:
– Is a means to access an Oracle database
– Always opens one and only one database
 Consists of:
– Internal memory structures
– Processes
Oracle Architecture
Interaction with the Database ( Dedicated Server )
Oracle Architecture
Interaction with the Database ( Shared Server )
Oracle Architecture
Internal Memory Structures SGA
System or ‘shared’ Global Area (SGA)
– Database buffer cache
– Redo log buffer
– Shared pool
– Request & response queues (shared server)
Oracle Architecture
Database buffer cache
 Used to hold data blocks read from datafiles by server
processes
 Contains ‘dirty’ or modified blocks and ‘clean’ or
unused or unchanged bocks
 ‘Dirty’ and ‘clean’ blocks are managed in lists called the
dirty list and the LRU
 Free space is created by DBWR writing out ‘dirty’
blocks or aging out blocks from the LRU
 Size is managed by the parameter
DB_BLOCK_BUFFERS
Oracle Architecture
Least Recently Used (LRU)
 LRU and the database buffer cache
– Every time a data block is read from disk it is placed
in the database buffer cache at the head of the LRU
list
– If a block is already in the cache and it is read again
it is moved to the head of the list
– Data not used frequently is ‘aged’ out of the cache
while frequently used data remains
Oracle Architecture
Redo Log Buffer
 A circular buffer that contains redo entries
– Redo entries reflect changes made to the database
 Redo entries take up contiguous, sequential
space in the buffer
 Data stored in the redo log buffer is periodically
written to the online redo log files
 Size is managed by the parameter
LOG_BUFFER
– Default is 4 times the maximum data block size for
the operating system
Oracle Architecture
Shared Pool
 Consists of multiple smaller memory areas
– Library cache
 Shared SQL area
– Contains parsed SQL and execution plans for statements already
run against the database
 Procedure and package storage
– Dictionary cache
 Names of all tables and views in the database
 Names and datatypes of columns in the database tables
 Privileges of all users
 Managed via an LRU algorithm
 Size determined by the parameter
SHARED_POOL_SIZE
Oracle Architecture
Least Recently Used (LRU)
 LRU and the shared pool
– Every time a SQL statement is parsed it is placed in
the shared pool for reuse
– If a SQL statement is already in the shared pool it
will not re-parse but it is placed at the head of the
LRU
– SQL statements not used frequently are ‘aged’ out
of the shared pool while frequently used statements
remain
– A SQL statement may be artificially retained at the
head of the LRU by ‘pinning’ the statement
Oracle Architecture
Internal Memory Structures PGA
Program or ‘process’ Global Area (PGA)
– Used for a single process
– Not shareable with other processes
– Writable only by the server process
– Allocated when a process is created and
deallocated when a process is terminated
– Contains:
 Sort area – Used for any sorts required by SQL processing
 Session information – Includes user privileges
 Cursor state – Indicates stage of SQL processing
 Stack space – Contains session variables
Oracle Architecture
Background Processes - DBWR
 Writes contents of database buffers to datafiles
 Primary job is to keep the database buffer
‘clean’
 Writes least recently used (LRU) ‘dirty’ buffers
to disk first
 Writes to datafiles in optimal batch writes
 Only process that writes directly to datafiles
 Mandatory process
Oracle Architecture
Background Processes - DBWR
 DBWR writes to disk when:
– A server process cannot find a clean reusable buffer
– A timeout occurs (3 sec)
– A checkpoint occurs
– DBWR cannot write out ‘dirty’ buffers before they
have been written to the online redo log files
Oracle Architecture
Commit Command
The SQL command COMMIT allows users to
save transactions that have been made against
a database. This functionality is available for
any UPDATE, INSERT, or DELETE
transaction; it is not available for changes to
database objects (such as ALTER TABLE
commands)
Oracle Architecture
Background Processes - LGWR
 Writes contents of redo log buffers to online
redo log files
 Primary job is to keep the redo log buffer
‘clean’
 Writes out redo log buffer blocks sequentially
to the redo log files
 May write multiple redo entries per write during
high utilization periods
 Mandatory process
Oracle Architecture
Background Processes - LGWR
 LGWR writes to disk when:
– A transaction is COMMITED
– A timeout occurs (3 sec)
– The redo log buffer is 1/3 full
– There is more than 1 megabyte of redo entries
– Before DBWR writes out ‘dirty’ blocks to datafiles
Oracle Architecture
Background Processes - SMON
 Performs automatic instance recovery
 Reclaims space used by temporary segments
no longer in use
 Merges contiguous areas of free space in the
datafiles (if PCTINCREASE > 0)
 SMON ‘wakes up’ regularly to check whether it
is needed or it may be called directly
 Mandatory process
Oracle Architecture
Background Processes - SMON
 SMON recovers transactions marked as DEAD
within the instance during instance recovery
– All non committed work will be rolled back by SMON
in the event of server failure
– SMON makes multiple passes through DEAD
transactions and only applies a specified number of
undo records per pass, this prevents short
transactions having to wait for long transactions to
recover
 SMON primarily cleans up server-side failures
Oracle Architecture
Background Processes - PMON
 Performs automatic process recovery
– Cleans up abnormally terminated connections
– Rolls back non committed transactions
– Releases resources held by abnormally terminated
transactions
 Restarts failed shared server and dispatcher
processes
 PMON ‘wakes up’ regularly to check whether it
is needed or it may be called directly
 Mandatory process
Oracle Architecture
Background Processes - PMON
 Detects both user and server aborted database
processes
 Automatically resolves aborted processes
– PMON rolls back the current transaction of the
aborted process
– Releases resources used by the process
– If the process is a background process the instance
most likely cannot continue and will be shut down
 PMON primarily cleans up client-side failures
Oracle Architecture
Background Processes - CKPT
 Forces all modified data in the SGA to be written to
datafile
– Occurs whether or not the data has been committed
– CKPT does not actually write out buffer data only DBWR can
write to the datafiles
 Updates the datafile headers
– This ensures all datafiles are synchronized
 Helps reduce the amount of time needed to perform
instance recovery
 Frequency can be adjusted with parameters
Oracle Architecture
Background Processes - ARCH
 Automatically copies online redo log files to
designated storage once they have become full
Oracle Architecture
Server Processes
 Services a single user process in the dedicated
server configuration or many user processes in
the shared server configuration
 Use an exclusive PGA
 Include the Oracle Program Interface (OPI)
 Process calls generated by the client
 Return results to the client in the dedicated
server configuration or to the dispatcher in the
shared server configuration
Oracle Architecture
User Processes
 Run on the client machine
 Are spawned when a tool or an application is
invoked
– SQL*Plus, Server Manager, Oracle Enterprise
Manager, Developer/2000
– Custom applications
 Include the User Program Interface (UPI)
 Generate calls to the Oracle server
Oracle Architecture
Transaction Example - Update
UPDATE table
SET user = ‘SHIPERT’
WHERE id = 12345
Oracle Architecture
Transaction Example - Update
Oracle Architecture
Transaction Example - Update
Oracle Architecture
Transaction Example - Update
Oracle Architecture
Transaction Example - Update
Oracle Architecture
Transaction Example - Update
Oracle Architecture
Transaction Example - Update
1 ROW UPDATED
Oracle Architecture
Transaction Example - Update
COMMIT
Oracle Architecture
Transaction Example - Update
COMMIT
SUCCESSFUL
Oracle Architecture
Transaction Example - Update

Weitere ähnliche Inhalte

Was ist angesagt?

Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
A Subbiah
 
6 basic steps of software development process
6 basic steps of software development process6 basic steps of software development process
6 basic steps of software development process
Riant Soft
 

Was ist angesagt? (20)

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
EM12c: Capacity Planning with OEM Metrics
EM12c: Capacity Planning with OEM MetricsEM12c: Capacity Planning with OEM Metrics
EM12c: Capacity Planning with OEM Metrics
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
 
Maximum Availability Architecture - Best Practices for Oracle Database 19c
Maximum Availability Architecture - Best Practices for Oracle Database 19cMaximum Availability Architecture - Best Practices for Oracle Database 19c
Maximum Availability Architecture - Best Practices for Oracle Database 19c
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
RUP VS RAD Methodology
RUP VS RAD MethodologyRUP VS RAD Methodology
RUP VS RAD Methodology
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
 
Galera Cluster: Synchronous Multi-Master Replication for MySQL HA
Galera Cluster: Synchronous Multi-Master Replication for MySQL HAGalera Cluster: Synchronous Multi-Master Replication for MySQL HA
Galera Cluster: Synchronous Multi-Master Replication for MySQL HA
 
An Introduction To Oracle Database
An Introduction To Oracle DatabaseAn Introduction To Oracle Database
An Introduction To Oracle Database
 
12. oracle database architecture
12. oracle database architecture12. oracle database architecture
12. oracle database architecture
 
Upgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeUpgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtime
 
Proxysql use case scenarios fosdem17
Proxysql use case scenarios    fosdem17Proxysql use case scenarios    fosdem17
Proxysql use case scenarios fosdem17
 
Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0
 
High Availability for Oracle SE2
High Availability for Oracle SE2High Availability for Oracle SE2
High Availability for Oracle SE2
 
Understanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginnersUnderstanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginners
 
M|18 How MariaDB Server Scales with Spider
M|18 How MariaDB Server Scales with SpiderM|18 How MariaDB Server Scales with Spider
M|18 How MariaDB Server Scales with Spider
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Building a data warehouse with Pentaho and Docker
Building a data warehouse with Pentaho and DockerBuilding a data warehouse with Pentaho and Docker
Building a data warehouse with Pentaho and Docker
 
6 basic steps of software development process
6 basic steps of software development process6 basic steps of software development process
6 basic steps of software development process
 
MySQL Shell - the best DBA tool !
MySQL Shell - the best DBA tool !MySQL Shell - the best DBA tool !
MySQL Shell - the best DBA tool !
 

Ähnlich wie Oracle Instance Architecture.ppt

Oracle db architecture
Oracle db architectureOracle db architecture
Oracle db architecture
Simon Huang
 

Ähnlich wie Oracle Instance Architecture.ppt (20)

exploring-the-oracle-database-architecture.ppt
exploring-the-oracle-database-architecture.pptexploring-the-oracle-database-architecture.ppt
exploring-the-oracle-database-architecture.ppt
 
Exploring the Oracle Database Architecture.ppt
Exploring the Oracle Database Architecture.pptExploring the Oracle Database Architecture.ppt
Exploring the Oracle Database Architecture.ppt
 
Oracle 10g Introduction 1
Oracle 10g Introduction 1Oracle 10g Introduction 1
Oracle 10g Introduction 1
 
Oracle architecture ppt
Oracle architecture pptOracle architecture ppt
Oracle architecture ppt
 
Introduction to oracle
Introduction to oracleIntroduction to oracle
Introduction to oracle
 
Oracle architecture
Oracle architectureOracle architecture
Oracle architecture
 
Less01_Architecture.ppt
Less01_Architecture.pptLess01_Architecture.ppt
Less01_Architecture.ppt
 
Lecture2 oracle ppt
Lecture2 oracle pptLecture2 oracle ppt
Lecture2 oracle ppt
 
Les 01 core
Les 01 coreLes 01 core
Les 01 core
 
les_01_core.ppt
les_01_core.pptles_01_core.ppt
les_01_core.ppt
 
Adavanced Databases and Mangement system
Adavanced Databases and Mangement systemAdavanced Databases and Mangement system
Adavanced Databases and Mangement system
 
DBA 101 : Calling all New Database Administrators (PPT)
DBA 101 : Calling all New Database Administrators (PPT)DBA 101 : Calling all New Database Administrators (PPT)
DBA 101 : Calling all New Database Administrators (PPT)
 
Less01 Dba1
Less01 Dba1Less01 Dba1
Less01 Dba1
 
Data guard logical_r3.1
Data guard logical_r3.1Data guard logical_r3.1
Data guard logical_r3.1
 
ora_sothea
ora_sotheaora_sothea
ora_sothea
 
Oracle Database Introduction
Oracle Database IntroductionOracle Database Introduction
Oracle Database Introduction
 
Oracle training institutes in hyderabad
Oracle training institutes in hyderabadOracle training institutes in hyderabad
Oracle training institutes in hyderabad
 
Oracle db architecture
Oracle db architectureOracle db architecture
Oracle db architecture
 
App D
App DApp D
App D
 
Oracle database performance tuning
Oracle database performance tuningOracle database performance tuning
Oracle database performance tuning
 

Mehr von HODCA1 (9)

Quick-Start-UNIX.pdf
Quick-Start-UNIX.pdfQuick-Start-UNIX.pdf
Quick-Start-UNIX.pdf
 
12c-install.pdf
12c-install.pdf12c-install.pdf
12c-install.pdf
 
mariadb-platform-high-availability-guide_whitepaper_1001.pdf
mariadb-platform-high-availability-guide_whitepaper_1001.pdfmariadb-platform-high-availability-guide_whitepaper_1001.pdf
mariadb-platform-high-availability-guide_whitepaper_1001.pdf
 
5db-security.pdf
5db-security.pdf5db-security.pdf
5db-security.pdf
 
D79232GC10_les01.ppt
D79232GC10_les01.pptD79232GC10_les01.ppt
D79232GC10_les01.ppt
 
rac_for_beginners_ppt.pdf
rac_for_beginners_ppt.pdfrac_for_beginners_ppt.pdf
rac_for_beginners_ppt.pdf
 
ordbms.ppt
ordbms.pptordbms.ppt
ordbms.ppt
 
1DATABASE.pptx
1DATABASE.pptx1DATABASE.pptx
1DATABASE.pptx
 
agile_tutorial.pdf
agile_tutorial.pdfagile_tutorial.pdf
agile_tutorial.pdf
 

Kürzlich hochgeladen

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Kürzlich hochgeladen (20)

SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 

Oracle Instance Architecture.ppt

  • 4. Oracle Architecture Instance Architecture Shared pool Library Cache Data Dictionary Cache Redo Log Buffer Database Buffer Cache SGA Instance DBWR LGWR SMON PMON ARCn RECO CKPT LCKn SNPn Dnnn Snnn
  • 5. Oracle Architecture Instance  An Oracle instance: – Is a means to access an Oracle database – Always opens one and only one database  Consists of: – Internal memory structures – Processes
  • 6. Oracle Architecture Interaction with the Database ( Dedicated Server )
  • 7. Oracle Architecture Interaction with the Database ( Shared Server )
  • 8. Oracle Architecture Internal Memory Structures SGA System or ‘shared’ Global Area (SGA) – Database buffer cache – Redo log buffer – Shared pool – Request & response queues (shared server)
  • 9. Oracle Architecture Database buffer cache  Used to hold data blocks read from datafiles by server processes  Contains ‘dirty’ or modified blocks and ‘clean’ or unused or unchanged bocks  ‘Dirty’ and ‘clean’ blocks are managed in lists called the dirty list and the LRU  Free space is created by DBWR writing out ‘dirty’ blocks or aging out blocks from the LRU  Size is managed by the parameter DB_BLOCK_BUFFERS
  • 10. Oracle Architecture Least Recently Used (LRU)  LRU and the database buffer cache – Every time a data block is read from disk it is placed in the database buffer cache at the head of the LRU list – If a block is already in the cache and it is read again it is moved to the head of the list – Data not used frequently is ‘aged’ out of the cache while frequently used data remains
  • 11. Oracle Architecture Redo Log Buffer  A circular buffer that contains redo entries – Redo entries reflect changes made to the database  Redo entries take up contiguous, sequential space in the buffer  Data stored in the redo log buffer is periodically written to the online redo log files  Size is managed by the parameter LOG_BUFFER – Default is 4 times the maximum data block size for the operating system
  • 12. Oracle Architecture Shared Pool  Consists of multiple smaller memory areas – Library cache  Shared SQL area – Contains parsed SQL and execution plans for statements already run against the database  Procedure and package storage – Dictionary cache  Names of all tables and views in the database  Names and datatypes of columns in the database tables  Privileges of all users  Managed via an LRU algorithm  Size determined by the parameter SHARED_POOL_SIZE
  • 13. Oracle Architecture Least Recently Used (LRU)  LRU and the shared pool – Every time a SQL statement is parsed it is placed in the shared pool for reuse – If a SQL statement is already in the shared pool it will not re-parse but it is placed at the head of the LRU – SQL statements not used frequently are ‘aged’ out of the shared pool while frequently used statements remain – A SQL statement may be artificially retained at the head of the LRU by ‘pinning’ the statement
  • 14. Oracle Architecture Internal Memory Structures PGA Program or ‘process’ Global Area (PGA) – Used for a single process – Not shareable with other processes – Writable only by the server process – Allocated when a process is created and deallocated when a process is terminated – Contains:  Sort area – Used for any sorts required by SQL processing  Session information – Includes user privileges  Cursor state – Indicates stage of SQL processing  Stack space – Contains session variables
  • 15. Oracle Architecture Background Processes - DBWR  Writes contents of database buffers to datafiles  Primary job is to keep the database buffer ‘clean’  Writes least recently used (LRU) ‘dirty’ buffers to disk first  Writes to datafiles in optimal batch writes  Only process that writes directly to datafiles  Mandatory process
  • 16. Oracle Architecture Background Processes - DBWR  DBWR writes to disk when: – A server process cannot find a clean reusable buffer – A timeout occurs (3 sec) – A checkpoint occurs – DBWR cannot write out ‘dirty’ buffers before they have been written to the online redo log files
  • 17. Oracle Architecture Commit Command The SQL command COMMIT allows users to save transactions that have been made against a database. This functionality is available for any UPDATE, INSERT, or DELETE transaction; it is not available for changes to database objects (such as ALTER TABLE commands)
  • 18. Oracle Architecture Background Processes - LGWR  Writes contents of redo log buffers to online redo log files  Primary job is to keep the redo log buffer ‘clean’  Writes out redo log buffer blocks sequentially to the redo log files  May write multiple redo entries per write during high utilization periods  Mandatory process
  • 19. Oracle Architecture Background Processes - LGWR  LGWR writes to disk when: – A transaction is COMMITED – A timeout occurs (3 sec) – The redo log buffer is 1/3 full – There is more than 1 megabyte of redo entries – Before DBWR writes out ‘dirty’ blocks to datafiles
  • 20. Oracle Architecture Background Processes - SMON  Performs automatic instance recovery  Reclaims space used by temporary segments no longer in use  Merges contiguous areas of free space in the datafiles (if PCTINCREASE > 0)  SMON ‘wakes up’ regularly to check whether it is needed or it may be called directly  Mandatory process
  • 21. Oracle Architecture Background Processes - SMON  SMON recovers transactions marked as DEAD within the instance during instance recovery – All non committed work will be rolled back by SMON in the event of server failure – SMON makes multiple passes through DEAD transactions and only applies a specified number of undo records per pass, this prevents short transactions having to wait for long transactions to recover  SMON primarily cleans up server-side failures
  • 22. Oracle Architecture Background Processes - PMON  Performs automatic process recovery – Cleans up abnormally terminated connections – Rolls back non committed transactions – Releases resources held by abnormally terminated transactions  Restarts failed shared server and dispatcher processes  PMON ‘wakes up’ regularly to check whether it is needed or it may be called directly  Mandatory process
  • 23. Oracle Architecture Background Processes - PMON  Detects both user and server aborted database processes  Automatically resolves aborted processes – PMON rolls back the current transaction of the aborted process – Releases resources used by the process – If the process is a background process the instance most likely cannot continue and will be shut down  PMON primarily cleans up client-side failures
  • 24. Oracle Architecture Background Processes - CKPT  Forces all modified data in the SGA to be written to datafile – Occurs whether or not the data has been committed – CKPT does not actually write out buffer data only DBWR can write to the datafiles  Updates the datafile headers – This ensures all datafiles are synchronized  Helps reduce the amount of time needed to perform instance recovery  Frequency can be adjusted with parameters
  • 25. Oracle Architecture Background Processes - ARCH  Automatically copies online redo log files to designated storage once they have become full
  • 26. Oracle Architecture Server Processes  Services a single user process in the dedicated server configuration or many user processes in the shared server configuration  Use an exclusive PGA  Include the Oracle Program Interface (OPI)  Process calls generated by the client  Return results to the client in the dedicated server configuration or to the dispatcher in the shared server configuration
  • 27. Oracle Architecture User Processes  Run on the client machine  Are spawned when a tool or an application is invoked – SQL*Plus, Server Manager, Oracle Enterprise Manager, Developer/2000 – Custom applications  Include the User Program Interface (UPI)  Generate calls to the Oracle server
  • 28. Oracle Architecture Transaction Example - Update UPDATE table SET user = ‘SHIPERT’ WHERE id = 12345
  • 34. Oracle Architecture Transaction Example - Update 1 ROW UPDATED
  • 36. Oracle Architecture Transaction Example - Update COMMIT SUCCESSFUL