DB architectuur - people.cs.kuleuven.bejoost.vennekens/DN/dbe-sl2.pdf · Redo-Log files ⌅ ⇤...
Transcript of DB architectuur - people.cs.kuleuven.bejoost.vennekens/DN/dbe-sl2.pdf · Redo-Log files ⌅ ⇤...
DB - logisch perspectief -
DB - fysisch perspectief -
DBMSFysische details van databank beheren Zodat gebruiker zich enkel om logische perspectief moet bekommeren Vereisten
Snel gegevens vinden, toevoegen,… Integriteit van gegevens (Vertrouwelijkheid, ...)
Belangrijkste componenten
0.4 Architectuur van een DBMS
In figuur 14 worden de verschillende onderdelen van een DBMS getoond. Onderaan is de plaatsvoorgesteld waar de data gestockeerd wordt; gewoonlijk is dit een of meerdere disks. Deze compo-nent bevat niet alleen gewone, echte data maar ook metadata. Dit is informatie over de structuurvan de data. Bij een R-DBMS bijvoorbeeld bevat de metadata de namen van de relaties, de namenvan de attributen van deze relaties en de datatypes van deze attributen (integer, string, ...). EenDBMS bevat normaal ook indexen voor de data. Een index is een datastructuur die het zoekenvan informatie in de databank versnelt.
aanpassingen �
queries
⌥
schema aanpassingen⇥⇥⇥⇥⇥⇥⌃“Query”Processor
⇧
⌥
��↵��⌦
TransactionManager
��⌅��⇤StorageManager
⇧
⌥⇥⇥⇥⇥⇥⇥ ⇥⇥⇥
⇥⇥⇥
DataMetadata ⇥⇥⇥
⇥⇥⇥
Figuur 14: Belangrijkste componenten van een DBMS
Storage manager. Zijn taak bevat het ophalen van de gevraagde data uit de databank en hetaanpassen van de informatie op aanvraag van de bovenliggende niveaus. In een eenvoudig DBMS isdeze component gewoon het filesysteem van het onderliggende besturingssysteem. De naakte datawordt op disk gestockeerd waarbij het filesysteem gebruikt wordt dat normaal deel uitmaakt vanhet besturingssysteem. De storage manager vertaalt de verschillende DML statements in low-levelfilesysteem commando’s en is dus verantwoordelijk voor de daadwerkelijke stockage, opvragen enaanpassen van de data in de databank. Omwille van de e⇤cientie beheert een DBMS meestal zelfde data op de disk. Er zijn twee onderdelen:
file manager : beheert de locatie van de bestanden op de disk; levert het blok of de blokken vaneen bestand op aanvraag van de bu�er manager;
bu�er manager : stockeert het door de file manager geleverde blok in een pagina van het primairgeheugen; dit blok blijft gedurende een bepaalde tijd in primair geheugen zodat anderequeries deze data ook kunnen gebruiken zonder dat er van disk gelezen moet worden; na eentijd, wanneer er geen aanvragen voor dat blok meer blijken te zijn, wordt de pagina voor eenander net ingelezen blok gebruikt.
Query processor. Deze component doet meer dan queries afhandelen. Ook de vragen vooraanpassingen van de data en de metadata passeren via de query processor. Deze vragen wordenmeestal uitgedrukt in een taal van hoog niveau (bijv. SQL). De query processor vertaalt de vraagnaar een reeks bevelen die naar de storage manager gestuurd worden, die ze dan zal uitvoeren.Het moeilijkste deel is de query optimisatie: de keuze van een goede opeenvolging van data-aanvragen aan het storage systeem zodat snel de gevraagde data gevonden wordt. Hiervoor worden
23
Query processor
Ontvangt hoog niveau bevelen of vragen (SQL)
Zet deze om naar commando’s voor storage manager
Belangrijk:query optimisatie
Storage managerBeheert bestanden
Aanpassen & opvragen
Onderdelen
File manager
Buffer managerRAM HDD
Transaction managerVerzekert integriteit van data
Parallelle bewerkingen
Systeemcrash
Belangrijk: logging
ACID
Oracle architectuur
DB vs instance0.5 Architectuur van Oracle.
0.5.1 Database versus instance
De database is de data op disk, gestockeerd op bestanden van het onderliggende operating system,of eventueel in UNIX in raw bestanden. De instance bestaat uit het System Global Area (SGA)geheugen en de achtergrond processen. Een instance wordt geSTART door gebruik te makenvan de Oracle Server Manager of de Oracle Enterprise Manager (OEM). De database wordt dangeMOUNT op de instance en tenslotte geOPENd. Gebruikers kunnen dan CONNECTeren naarde instance om de data in de database te raadplegen. Figuur 15 toont de basiscomponenten vaneen Oracle database en instance.
Oracle database⌅⇤ �⇥
⇤ ⇥
Parameter filesControl files
DatafilesRedo Log files
disk
��⇤⇤
⇥⇥⇥
⇥⇥⇥
⇥⇥⇥
Oracle server
⇤⇤��
Oracle instance
System Global Area (SGA)Background processes
memory
Figuur 15: Oracle database en Oracle instance
Behalve wanneer er gebruik gemaakt wordt van de Oracle Parallel Server (OPS) optie, is er eeneen-op-een mapping tussen instance en database. In de OPS wereld kan de database geMOUNTzijn op verschillende instances.
De instance op server A en de instanceop server B zijn beide gemountop dezelfde fysische database⇥
⇥⇥
⇥⇥⇥
⇥⇥⇥
server A
⌅⇤ �⇥⇤ ⇥Oracle database
� ⇥⇥⇥⇥
⇥⇥⇥
⇥⇥⇥
server B
Figuur 16: Oracle Parallel Server
De Oracle DBMS server is gebaseerd op een Multi-Server Architectuur. De server is verantwoor-delijk voor het verwerken van alle database activiteiten, zoals het uitvoeren van SQL statements,beheer van gebruikers en resources en het beheer van de opslagplaatsen (storages). Alhoewel ermaar een copy van de programma code van de DBMS server in geheugen aanwezig is, wordt eenlogische server aan elke geconnecteerde gebruiker toegewezen. Figuur 17 illustreert de architectuurvan een Oracle DBMS bestaande uit geheugenstructuren, processen en bestanden.
0.5.2 Oracle instance
De Oracle instance bestaat uit de Oracle processen en de bijhorende geheugenstructuren (ziefiguur 18). Deze zijn nodig om toegang te hebben tot de bestanden die samen de Oracle databasevormen en om Oracle gebruikers de data in deze bestanden te laten raadplegen.
25
1. START
2. MOUNT
3. OPEN
Architectuur
⌅⇤ �⇥⇤ ⇥⇤ ⇥⇤ ⇥Datafiles
⌅⇤ �⇥⇤ ⇥⇤ ⇥Redo-Log files
⌅⇤ �⇥⇤ ⇥Control files
⌅⇤ �⇥⇤ ⇥
Archive- and Backup files
�⌥⇧⌃DBWn
�⌥⇧⌃LGWR�⌥⇧⌃ARCH�⌥⇧⌃PMON�⌥⇧⌃SMON
Background Processen
◆
⌘
✓Database
bu�ercache
⌥
⌥
�↵
⌦Redo-Log-
Bu�er
⇧
���⇤ ⇥⇥
⇥⇥⇥⇥⇥⌅
⇣✏��
LogArchiveBu�er
��⌦ ��↵
⌥
�
◆
⌘
✓
Shared Pool
Dictionary Cache
Library Cache
System Global Area (SGA)
◆
⌘✓◆
⌘✓◆
⌘✓PGA PGA PGA
Server Server ServerProces Proces Proces
⌥ ⌥ ⌥⌃ ⌃ ⌃
◆⌘✓PGA
ServerProces
⌥⌃
User 1 User 2 User 3 User n
Figuur 17: Oracle systeem architectuur
Processen
Dit zijn programma’s die op een computer in uitvoering zijn, onder de controle van het operatingsystem van de computer. Oracle creeert twee soorten processen: Oracle processen (achtergronden server processen) en gebruikersprocessen.De achtergrondprocessen voeren taken uit die anders door elk gebruikersproces dat met dedatabase geconnecteerd is, zouden moeten uitgevoerd worden.
hcr 21494 1 0 08:16:32 ? 0:00 ora_qmnc_erphcr 21477 1 0 08:16:21 ? 0:00 ora_reco_erphcr 21473 1 0 08:16:21 ? 0:00 ora_ckpt_erphcr 21471 1 0 08:16:21 ? 0:00 ora_lgwr_erphcr 21483 1 0 08:16:22 ? 0:00 ora_s000_erphcr 21465 1 0 08:16:20 ? 0:00 ora_pmon_erphcr 21479 1 0 08:16:21 ? 0:00 ora_cjq0_erphcr 21498 1 0 08:16:34 ? 0:00 ora_mmnl_erphcr 21481 1 0 08:16:21 ? 0:00 ora_d000_erphcr 21496 1 0 08:16:34 ? 0:00 ora_mmon_erphcr 21475 1 0 08:16:21 ? 0:00 ora_smon_erphcr 21469 1 0 08:16:21 ? 0:00 ora_dbw0_erphcr 21502 1 0 08:16:43 ? 0:00 ora_q000_erphcr 21467 1 0 08:16:20 ? 0:00 ora_mman_erp
26
DBWnDatabase Writer
Van cache naar bestanden
Beleid: Least Recently Used (LRU)
Verschillende writer processen in parallel (DB_WRITER_PROCESSES parameter)
LGWRLog writer
Redo informatie
Beheren redo-log-buffer
DBWn wacht op LGWR
CKPTAlle wijzigingen wegschrijven
Maakt nieuwe consistente versie van DB
Vanwaar instance recovery kan beginnen
Bij wissel van redo log
Verminderen van MTTR
SMONSystem monitor
Instance recovery adhv redo logs
Opruimen tijdelijke informatie
Coalescing
PMONProcess monitor
Opruimen als gebruikersproces wegvalt
Cache
Locks
PID
Evt. rollbacks
ARCn
Archiveren van redo logs
Voordat ze overschreven worden door LGWR
RECO
Bij gedistribueerde DBs
Zorgt dit ervoor dat
ofwel alle locaties een transactie doen
ofwel geen enkele
Architectuur
⌅⇤ �⇥⇤ ⇥⇤ ⇥⇤ ⇥Datafiles
⌅⇤ �⇥⇤ ⇥⇤ ⇥Redo-Log files
⌅⇤ �⇥⇤ ⇥Control files
⌅⇤ �⇥⇤ ⇥
Archive- and Backup files
�⌥⇧⌃DBWn
�⌥⇧⌃LGWR�⌥⇧⌃ARCH�⌥⇧⌃PMON�⌥⇧⌃SMON
Background Processen
◆
⌘
✓Database
bu�ercache
⌥
⌥
�↵
⌦Redo-Log-
Bu�er
⇧
���⇤ ⇥⇥
⇥⇥⇥⇥⇥⌅
⇣✏��
LogArchiveBu�er
��⌦ ��↵
⌥
�
◆
⌘
✓
Shared Pool
Dictionary Cache
Library Cache
System Global Area (SGA)
◆
⌘✓◆
⌘✓◆
⌘✓PGA PGA PGA
Server Server ServerProces Proces Proces
⌥ ⌥ ⌥⌃ ⌃ ⌃
◆⌘✓PGA
ServerProces
⌥⌃
User 1 User 2 User 3 User n
Figuur 17: Oracle systeem architectuur
Processen
Dit zijn programma’s die op een computer in uitvoering zijn, onder de controle van het operatingsystem van de computer. Oracle creeert twee soorten processen: Oracle processen (achtergronden server processen) en gebruikersprocessen.De achtergrondprocessen voeren taken uit die anders door elk gebruikersproces dat met dedatabase geconnecteerd is, zouden moeten uitgevoerd worden.
hcr 21494 1 0 08:16:32 ? 0:00 ora_qmnc_erphcr 21477 1 0 08:16:21 ? 0:00 ora_reco_erphcr 21473 1 0 08:16:21 ? 0:00 ora_ckpt_erphcr 21471 1 0 08:16:21 ? 0:00 ora_lgwr_erphcr 21483 1 0 08:16:22 ? 0:00 ora_s000_erphcr 21465 1 0 08:16:20 ? 0:00 ora_pmon_erphcr 21479 1 0 08:16:21 ? 0:00 ora_cjq0_erphcr 21498 1 0 08:16:34 ? 0:00 ora_mmnl_erphcr 21481 1 0 08:16:21 ? 0:00 ora_d000_erphcr 21496 1 0 08:16:34 ? 0:00 ora_mmon_erphcr 21475 1 0 08:16:21 ? 0:00 ora_smon_erphcr 21469 1 0 08:16:21 ? 0:00 ora_dbw0_erphcr 21502 1 0 08:16:43 ? 0:00 ora_q000_erphcr 21467 1 0 08:16:20 ? 0:00 ora_mman_erp
26
Geheugenstructuren
System global area Program global area Sorteergebied
SGA
Informatie die gedeeld wordt tussen systeemprocessen gebuikersprocessen
Zevental belangrijke componenten
SGA: Database buffer cache
Kopie van DB gegevens in RAM Belangrijk voor performantie Grootte is belangrijke parameter LRU update Beheerd door DWRn
SGA: Shared poolInfo uit verwerking van SQL, PL/SQL Spaart tijd bij gelijkaardige queries Twee belangrijke onderdelen:
Dictionary cache -> metadata over structuur van DB Library cache -> parse tree, execution plan
SGA: AndereRedo log buffer -> LGWR Large pool -> grote brokken gegevens (optioneel) Java pool -> Oracle JVM Streams pool -> gedistribueerde omgeving Log archive buffer -> ARCH (optioneel)
Program global area
Hoort bij een gebruikersproces Configuratie:
shared server dedicated server
Daarnaast sorteergebied voor data-operaties, zoals sorteren, hash-join, ...
Tablespaces, files en schema’s
Fysische DB structuur0.5 Architectuur van Oracle.
0.5.1 Database versus instance
De database is de data op disk, gestockeerd op bestanden van het onderliggende operating system,of eventueel in UNIX in raw bestanden. De instance bestaat uit het System Global Area (SGA)geheugen en de achtergrond processen. Een instance wordt geSTART door gebruik te makenvan de Oracle Server Manager of de Oracle Enterprise Manager (OEM). De database wordt dangeMOUNT op de instance en tenslotte geOPENd. Gebruikers kunnen dan CONNECTeren naarde instance om de data in de database te raadplegen. Figuur 15 toont de basiscomponenten vaneen Oracle database en instance.
Oracle database⌅⇤ �⇥
⇤ ⇥
Parameter filesControl files
DatafilesRedo Log files
disk
��⇤⇤
⇥⇥⇥
⇥⇥⇥
⇥⇥⇥
Oracle server
⇤⇤��
Oracle instance
System Global Area (SGA)Background processes
memory
Figuur 15: Oracle database en Oracle instance
Behalve wanneer er gebruik gemaakt wordt van de Oracle Parallel Server (OPS) optie, is er eeneen-op-een mapping tussen instance en database. In de OPS wereld kan de database geMOUNTzijn op verschillende instances.
De instance op server A en de instanceop server B zijn beide gemountop dezelfde fysische database⇥
⇥⇥
⇥⇥⇥
⇥⇥⇥
server A
⌅⇤ �⇥⇤ ⇥Oracle database
� ⇥⇥⇥⇥
⇥⇥⇥
⇥⇥⇥
server B
Figuur 16: Oracle Parallel Server
De Oracle DBMS server is gebaseerd op een Multi-Server Architectuur. De server is verantwoor-delijk voor het verwerken van alle database activiteiten, zoals het uitvoeren van SQL statements,beheer van gebruikers en resources en het beheer van de opslagplaatsen (storages). Alhoewel ermaar een copy van de programma code van de DBMS server in geheugen aanwezig is, wordt eenlogische server aan elke geconnecteerde gebruiker toegewezen. Figuur 17 illustreert de architectuurvan een Oracle DBMS bestaande uit geheugenstructuren, processen en bestanden.
0.5.2 Oracle instance
De Oracle instance bestaat uit de Oracle processen en de bijhorende geheugenstructuren (ziefiguur 18). Deze zijn nodig om toegang te hebben tot de bestanden die samen de Oracle databasevormen en om Oracle gebruikers de data in deze bestanden te laten raadplegen.
25
1. START
2. MOUNT
3. OPEN
Fysische DB structuurParameter files (INIT.ORA) -> bij START, geeft configuratie van instance Control files -> bij MOUNT, namen van datafiles en logfiles Datafiles -> gegevens, na OPEN Redo log files -> voor recovery
Low-level -> high levelDBMS beheert data zoveel mogelijk zelf
<- block (parameter)
extent extent
<- segment
...
Tablespace ~ aantal bestanden
DB
Fysische en logische structuur
redo log file database control file
data file tablespace
segmentextentblock
tableindexrollback
TablespacesSYSTEM
altijd beschikbaar vanaf OPEN data dictionary
ROLLBACK bevat “rollback segmenten” ipv tabellen “before image” voor consistent lezen of rollback
TEMP, TOOLS, USERS DBA kan bijmaken voor gebruikersdata
Typische DBA taken
DB creatie1. Creatie van control files en SYSTEM tablespace 2. Data dictionary in SYSTEM tablespace 3. Objecten die nodig zijn voor PL/SQL enz. 4. Creatie van rollback segment in SYSTEM
DB creatie5. Rollback tablespace (best op andere disk) 6. Rollback segmenten (-> INIT.ORA) 7. Temporary tablespace 8. Bijkomende tablespaces: best verschillende disks voor data en indices 9. Default tablespaces toewijzen
SchemaVerzameling tabellen, views, indices Elk object is eigendom van een schema
SYS: eigenaar van data dictionary SYSTEM: extra systeeminformatie Andere gemaakt door DBA
= gebruiker
Gebruiker
Is eigenaar van alle objecten die hij maakt Deze objecten komen in gelijknamig schema Volledige naam van object: schema.object
Data dictionary
Metadata Read-only SYSTEM tablespace
Data dictionaryObjectdefinities (tabellen, indexen,...) Opslagcapaciteit per object Gebruikers, rechten en rollen Integriteitsvoorwaarden
Data dictionaryGemanipuleerd door Oracle DBMS Aantal views op structuur van databank
USER: user_objects (enkel gebruiker zelf) naam, type, datum van creatie,...
ALL: all_objects (alles waar gebruiker aan kan) naam, type, eigenaar...
DBA: sys.dba_objects (alles)
Data dictionary (2)
Views op dynamische performatie Views op toegekende rechten Views op rollen en rechten
GebruikerDBA kan gebruikers creeeren:
Hoeveel quota op welke tablespace Authenticatie
Database: geencrypteerd PW in DB OS Netwerk: public key
RechtenNa creatie, moet gebruiker rechten rechten krijgen Systeem rechten
Object rechten
CREATE SESSION ALTER SESSION CREATE TABLE
CREATE ANY TABLE ALTER ANY TABLE CREATE ANY INDEX
UNLIMITED TABLESPACE
SELECT, INSERT, UPDATE, DELETE
Rollen Verzameling van toegangsrechten Die kan worden toegewezen aan gebruikercreate role student not identified;
grant create session, create table, create view, create procedure, create trigger to student;
grant student to &&1;
ProfielResources die gebruiker mag gebruiken
create profile conlog limit connect_time 120 failed_login_attempts 8;
Verwerking van SQL statement
SQL van user Library cache? Maak uitvoeringsplan
Parse Optimize
⌅⇤ �⇥⇤ ⇥⇤ ⇥⇤ ⇥Datafiles
⌅⇤ �⇥⇤ ⇥⇤ ⇥Redo-Log files
⌅⇤ �⇥⇤ ⇥Control files
⌅⇤ �⇥⇤ ⇥
Archive- and Backup files
�⌥⇧⌃DBWn
�⌥⇧⌃LGWR�⌥⇧⌃ARCH�⌥⇧⌃PMON�⌥⇧⌃SMON
Background Processen
◆
⌘
✓Database
bu�ercache
⌥
⌥
�↵
⌦Redo-Log-
Bu�er
⇧
���⇤ ⇥⇥
⇥⇥⇥⇥⇥⌅
⇣✏��
LogArchiveBu�er
��⌦ ��↵
⌥
�
◆
⌘
✓
Shared Pool
Dictionary Cache
Library Cache
System Global Area (SGA)
◆
⌘✓◆
⌘✓◆
⌘✓PGA PGA PGA
Server Server ServerProces Proces Proces
⌥ ⌥ ⌥⌃ ⌃ ⌃
◆⌘✓PGA
ServerProces
⌥⌃
User 1 User 2 User 3 User n
Figuur 17: Oracle systeem architectuur
Processen
Dit zijn programma’s die op een computer in uitvoering zijn, onder de controle van het operatingsystem van de computer. Oracle creeert twee soorten processen: Oracle processen (achtergronden server processen) en gebruikersprocessen.De achtergrondprocessen voeren taken uit die anders door elk gebruikersproces dat met dedatabase geconnecteerd is, zouden moeten uitgevoerd worden.
hcr 21494 1 0 08:16:32 ? 0:00 ora_qmnc_erphcr 21477 1 0 08:16:21 ? 0:00 ora_reco_erphcr 21473 1 0 08:16:21 ? 0:00 ora_ckpt_erphcr 21471 1 0 08:16:21 ? 0:00 ora_lgwr_erphcr 21483 1 0 08:16:22 ? 0:00 ora_s000_erphcr 21465 1 0 08:16:20 ? 0:00 ora_pmon_erphcr 21479 1 0 08:16:21 ? 0:00 ora_cjq0_erphcr 21498 1 0 08:16:34 ? 0:00 ora_mmnl_erphcr 21481 1 0 08:16:21 ? 0:00 ora_d000_erphcr 21496 1 0 08:16:34 ? 0:00 ora_mmon_erphcr 21475 1 0 08:16:21 ? 0:00 ora_smon_erphcr 21469 1 0 08:16:21 ? 0:00 ora_dbw0_erphcr 21502 1 0 08:16:43 ? 0:00 ora_q000_erphcr 21467 1 0 08:16:20 ? 0:00 ora_mman_erp
26
Laad objecten In cache? Maak plaats als buffer vol Haal van disk ⌅⇤ �⇥⇤ ⇥⇤ ⇥⇤ ⇥
Datafiles
⌅⇤ �⇥⇤ ⇥⇤ ⇥Redo-Log files
⌅⇤ �⇥⇤ ⇥Control files
⌅⇤ �⇥⇤ ⇥
Archive- and Backup files
�⌥⇧⌃DBWn
�⌥⇧⌃LGWR�⌥⇧⌃ARCH�⌥⇧⌃PMON�⌥⇧⌃SMON
Background Processen
◆
⌘
✓Database
bu�ercache
⌥
⌥
�↵
⌦Redo-Log-
Bu�er
⇧
���⇤ ⇥⇥
⇥⇥⇥⇥⇥⌅
⇣✏��
LogArchiveBu�er
��⌦ ��↵
⌥
�
◆
⌘
✓
Shared Pool
Dictionary Cache
Library Cache
System Global Area (SGA)
◆
⌘✓◆
⌘✓◆
⌘✓PGA PGA PGA
Server Server ServerProces Proces Proces
⌥ ⌥ ⌥⌃ ⌃ ⌃
◆⌘✓PGA
ServerProces
⌥⌃
User 1 User 2 User 3 User n
Figuur 17: Oracle systeem architectuur
Processen
Dit zijn programma’s die op een computer in uitvoering zijn, onder de controle van het operatingsystem van de computer. Oracle creeert twee soorten processen: Oracle processen (achtergronden server processen) en gebruikersprocessen.De achtergrondprocessen voeren taken uit die anders door elk gebruikersproces dat met dedatabase geconnecteerd is, zouden moeten uitgevoerd worden.
hcr 21494 1 0 08:16:32 ? 0:00 ora_qmnc_erphcr 21477 1 0 08:16:21 ? 0:00 ora_reco_erphcr 21473 1 0 08:16:21 ? 0:00 ora_ckpt_erphcr 21471 1 0 08:16:21 ? 0:00 ora_lgwr_erphcr 21483 1 0 08:16:22 ? 0:00 ora_s000_erphcr 21465 1 0 08:16:20 ? 0:00 ora_pmon_erphcr 21479 1 0 08:16:21 ? 0:00 ora_cjq0_erphcr 21498 1 0 08:16:34 ? 0:00 ora_mmnl_erphcr 21481 1 0 08:16:21 ? 0:00 ora_d000_erphcr 21496 1 0 08:16:34 ? 0:00 ora_mmon_erphcr 21475 1 0 08:16:21 ? 0:00 ora_smon_erphcr 21469 1 0 08:16:21 ? 0:00 ora_dbw0_erphcr 21502 1 0 08:16:43 ? 0:00 ora_q000_erphcr 21467 1 0 08:16:20 ? 0:00 ora_mman_erp
26
Rijen die moeten veranderen Before image -> rollback segmenten Redo log buffer
LGWR Data buffer aanpassen
⌅⇤ �⇥⇤ ⇥⇤ ⇥⇤ ⇥Datafiles
⌅⇤ �⇥⇤ ⇥⇤ ⇥Redo-Log files
⌅⇤ �⇥⇤ ⇥Control files
⌅⇤ �⇥⇤ ⇥
Archive- and Backup files
�⌥⇧⌃DBWn
�⌥⇧⌃LGWR�⌥⇧⌃ARCH�⌥⇧⌃PMON�⌥⇧⌃SMON
Background Processen
◆
⌘
✓Database
bu�ercache
⌥
⌥
�↵
⌦Redo-Log-
Bu�er
⇧
���⇤ ⇥⇥
⇥⇥⇥⇥⇥⌅
⇣✏��
LogArchiveBu�er
��⌦ ��↵
⌥
�
◆
⌘
✓
Shared Pool
Dictionary Cache
Library Cache
System Global Area (SGA)
◆
⌘✓◆
⌘✓◆
⌘✓PGA PGA PGA
Server Server ServerProces Proces Proces
⌥ ⌥ ⌥⌃ ⌃ ⌃
◆⌘✓PGA
ServerProces
⌥⌃
User 1 User 2 User 3 User n
Figuur 17: Oracle systeem architectuur
Processen
Dit zijn programma’s die op een computer in uitvoering zijn, onder de controle van het operatingsystem van de computer. Oracle creeert twee soorten processen: Oracle processen (achtergronden server processen) en gebruikersprocessen.De achtergrondprocessen voeren taken uit die anders door elk gebruikersproces dat met dedatabase geconnecteerd is, zouden moeten uitgevoerd worden.
hcr 21494 1 0 08:16:32 ? 0:00 ora_qmnc_erphcr 21477 1 0 08:16:21 ? 0:00 ora_reco_erphcr 21473 1 0 08:16:21 ? 0:00 ora_ckpt_erphcr 21471 1 0 08:16:21 ? 0:00 ora_lgwr_erphcr 21483 1 0 08:16:22 ? 0:00 ora_s000_erphcr 21465 1 0 08:16:20 ? 0:00 ora_pmon_erphcr 21479 1 0 08:16:21 ? 0:00 ora_cjq0_erphcr 21498 1 0 08:16:34 ? 0:00 ora_mmnl_erphcr 21481 1 0 08:16:21 ? 0:00 ora_d000_erphcr 21496 1 0 08:16:34 ? 0:00 ora_mmon_erphcr 21475 1 0 08:16:21 ? 0:00 ora_smon_erphcr 21469 1 0 08:16:21 ? 0:00 ora_dbw0_erphcr 21502 1 0 08:16:43 ? 0:00 ora_q000_erphcr 21467 1 0 08:16:20 ? 0:00 ora_mman_erp
26
Bij COMMIT: before image mag weg
Bij ROLLBACK: before image wordt teruggezet
⌅⇤ �⇥⇤ ⇥⇤ ⇥⇤ ⇥Datafiles
⌅⇤ �⇥⇤ ⇥⇤ ⇥Redo-Log files
⌅⇤ �⇥⇤ ⇥Control files
⌅⇤ �⇥⇤ ⇥
Archive- and Backup files
�⌥⇧⌃DBWn
�⌥⇧⌃LGWR�⌥⇧⌃ARCH�⌥⇧⌃PMON�⌥⇧⌃SMON
Background Processen
◆
⌘
✓Database
bu�ercache
⌥
⌥
�↵
⌦Redo-Log-
Bu�er
⇧
���⇤ ⇥⇥
⇥⇥⇥⇥⇥⌅
⇣✏��
LogArchiveBu�er
��⌦ ��↵
⌥
�
◆
⌘
✓
Shared Pool
Dictionary Cache
Library Cache
System Global Area (SGA)
◆
⌘✓◆
⌘✓◆
⌘✓PGA PGA PGA
Server Server ServerProces Proces Proces
⌥ ⌥ ⌥⌃ ⌃ ⌃
◆⌘✓PGA
ServerProces
⌥⌃
User 1 User 2 User 3 User n
Figuur 17: Oracle systeem architectuur
Processen
Dit zijn programma’s die op een computer in uitvoering zijn, onder de controle van het operatingsystem van de computer. Oracle creeert twee soorten processen: Oracle processen (achtergronden server processen) en gebruikersprocessen.De achtergrondprocessen voeren taken uit die anders door elk gebruikersproces dat met dedatabase geconnecteerd is, zouden moeten uitgevoerd worden.
hcr 21494 1 0 08:16:32 ? 0:00 ora_qmnc_erphcr 21477 1 0 08:16:21 ? 0:00 ora_reco_erphcr 21473 1 0 08:16:21 ? 0:00 ora_ckpt_erphcr 21471 1 0 08:16:21 ? 0:00 ora_lgwr_erphcr 21483 1 0 08:16:22 ? 0:00 ora_s000_erphcr 21465 1 0 08:16:20 ? 0:00 ora_pmon_erphcr 21479 1 0 08:16:21 ? 0:00 ora_cjq0_erphcr 21498 1 0 08:16:34 ? 0:00 ora_mmnl_erphcr 21481 1 0 08:16:21 ? 0:00 ora_d000_erphcr 21496 1 0 08:16:34 ? 0:00 ora_mmon_erphcr 21475 1 0 08:16:21 ? 0:00 ora_smon_erphcr 21469 1 0 08:16:21 ? 0:00 ora_dbw0_erphcr 21502 1 0 08:16:43 ? 0:00 ora_q000_erphcr 21467 1 0 08:16:20 ? 0:00 ora_mman_erp
26
Data
Redo
cleandirty
Data Redo
cleandirty
Rollback segmenten
Redo archief
Data
Redo
cleandirty
Data Redo
cleandirty
SQL
LRU
Rollback segmenten
Redo archief
Data
Redo
cleandirty
Data Redo
dirty
SQL
DBWn
LGWR
Rollback segmenten
Redo archief
Data
Redo
cleandirty
Data Redo
dirty
SQL
DBWn
Rollback segmenten
Redo archief
Data
Redo
cleandirty
Data Redo
clean
SQL
Rollback segmenten
Redo archief
Data
Redo
cleandirty
Data Redo
SQL
Read
Rollback segmenten
Redo archief
Data
Redo
cleandirty
Data Redo
SQL
Rollback segmenten
Redo archief
Data
Redo
cleandirty
Data Redo
SQL
Update
Rollback segmenten
Redo archief
Data
Redo
cleandirty
Data Redo
SQL
Update
Rollback segmenten
Redo archief
Data
Redo
cleandirty
Data Redo
Rollback segmenten
Redo archief
Update klaar
Data
Redo
cleandirty
Data Redo
COMMIT
Rollback segmenten
Redo archief
Data
Redo
cleandirty
Data Redo
ROLLBACK
Rollback segmenten
Redo archief
Data
Redo
cleandirty
Data Redo
Redo log wissel
Rollback segmenten
Redo archief
ARCn
CKPT
Data
Redo
cleanclean
Data Redo
Redo log wissel
Rollback segmenten
Redo archief