Oracle baznu instancu čini rezervisani memorijski prostor na serveru i skup Oracle baznih procesa. Pod rezervisanim memorijskim prostorom podrazumijeva se prostor u RAM memoriji servera koji je Oracle baza podataka "rezervisala" za sebe. Taj prostor u RAM-u servera naziva se SGA (System Global Area). Pored SGA prostora, Oracel baza podataka "zauzima" dodatni prostor u RAM-u za rad svojih procesa. Taj prostor u RAM-u naziva se PGA (Program Global Area).
SGA
Oracle SGA predstavlja ovir memorijskog prostora koji je potreban procesima Oracle baze podataka za njihov rad. U okviru SGA prostora izdvajaju se posebne memorijske (buffer) cjeline. Najtipičnije memorijske cjeline u okviru SGA memoriskog prostora su:
buffer cache ili "database buffer cache" - predstavlja prostor u RAM-u u koji se smještaju podaci koji su pročitani iz baznog data fajla s ciljem dalje obrade pomoću SQL naredbi
shared pool - predstavlja memorijski keš (cache) parsiranih često korišćenih SQL naredbi
redo log buffer - sadrži informacije o komitovanim transakcijama koje baza još nije upisala u Redo Log fajl
dictionary cache - sadrži informacije o data dictionary (sistemskim) tabelama, kao npr. informacije o korisničkim nalozima, data-fajlovima, segmentima, ekstentima, tabelama i privilegijama
java pool - služi za parsiranje JAVA naredbi
library cache - sadrži SQL naredbe, PL/SQL procedure i pakete, kao i kontrolne strukture kao npr. lock-ove
large pool - je prostor u RAM-u koji je rezervisan za posebne sistemske operacije: Backup/Restore, serverske I/O operacije, ...
Pored ovih memorijskih struktura postoje i neke druge, ali one se kreiraju zavisno od opcija koje Oracle baza koristi. Neke od dodatnih memorijskih struktura su: streams pool, nk buffer cache (n veličina baznog bloka), itd.
Grafički, SGA bi mogla da se predstavi na sledeći način:
Veličina SGA memorije definiše se prilikom instalacije Oracle baze podataka, a moguća je i naknadna modifikacija njene veličine. Počevši od 10g verzije Oracle baze podataka uvodi se i novi pojam vezan za SGA, a to je Automatic Memory Management (AMM). AMM obogućava automatizaciju podešavanja SGA memorijskog prostora, uvode se novi parametri, ... ali o tome će mo kasnije.
Oracle bazni procesi
Drugu komponentu Oracle bazne instance čine Oracle bazni procesi. Osnovi Oracle bazni procesi su:
database writer (DBWn) - proces koji je zadužen za upisivanje sadržaja baznog buffer cache-a u data fajl. n označava redni broj procesa
log writer (LGWR) - proces koji je zadužen za upisivanje redo log podataka u Redo Log fajl. Redo log podaci se generišu u redo log baferu u okviru SGA memorije
checkpoint (CKPT) - u specifičnim vremenskim intervalima bazni proces DBWn vrši upisivanje svih modifikovanih podataka koji se nalaze u baznom baferu SGA memorije u bazni data fajl. Taj događaj se naziva checkpoint
system monitor (SMON) - proces izvršava proceduru za oporavak instance prilikom njenog startovanja u slučaju da je instanca nepropisno prestala sa radom. SMON, takođe, vrši brisanje privremenih (temporary) segmenata koji se više ne koriste kao i oporavak "mrtvih" transakcija koje su nastale "padom" sistema
process monitor (PMON) - proces koji je zadužen za oporavak korisničkog procesa u slučaju da je došlo do nekog problema prilikom rada korisnika na bazi. PMON proces zadužen je i za "čišćenje" keša (cache-a) i oslobađanje resursa koje je korisnički proces koristio
archiver (ARCn) - proces koji je zadužen za kopiranje (arhiviranje) "punih" Redo Log-ova prije njihovog brisanja. ARCn proces postoji samo ako Oracle baza radi u ARCHIVE LOG modu.
Pored nabrojanih procesa postoji još veliki broj procesa koji se aktiviraju u slučaju da je uključena neka dodatna opcija na Oracle bazi podataka .
Instanca se grafički može predstaviti na sledeći način:
No comments:
Post a Comment