Jurnalul Geek
următorul exemplu descrie operațiunile bazei de date Oracle la nivelul cel mai de bază. Acesta ilustrează o configurație Oracle database în care utilizatorul și procesul de server asociat se află pe computere separate, conectate printr-o rețea.
1. O instanță a început pe un nod în care este instalat Oracle Database, adesea numit gazdă sau server de baze de date.
2. Un utilizator începe o aplicație de reproducere un proces de utilizator. Aplicația încearcă să stabilească o conexiune la server. (Conexiunea poate fi locală, client / server sau o conexiune pe trei niveluri de la un nivel mediu.)
3. Serverul ruleaza un ascultător care are corespunzătoare Oracle Net Services handler. Ascultătorul detectează cererea de conectare din aplicație și creează un proces server dedicat în numele procesului de utilizator.
4. Utilizatorul execută o instrucțiune SQL de tip DML și comite tranzacția. De exemplu, utilizatorul modifică adresa unui client într-un tabel și comite modificarea.
5. Procesul server primește instrucțiunea și verifică piscina partajată (o componentă SGA) pentru orice zonă SQL partajată care conține o instrucțiune SQL identică. Dacă se găsește o zonă SQL partajată, procesul server verifică privilegiile de acces ale utilizatorului la datele solicitate de utilizator și zona SQL partajată existentă este utilizată pentru a procesa instrucțiunea. Dacă nu se găsește o zonă SQL partajată, o nouă zonă SQL partajată este alocată pentru instrucțiune, astfel încât să poată fi analizată și procesată.
6. Procesul server preia orice valori de date necesare, fie din fișierul de date real (tabel), fie din valorile stocate în memoria cache tampon a bazei de date.
7. Procesul server modifică datele din SGA. Deoarece tranzacția este comisă, procesul de scriere a Jurnalului (LGWR) înregistrează imediat tranzacția în fișierul jurnal de refacere. Procesul de scriere a bazei de date (Dbwn) scrie blocuri modificate permanent pe disc atunci când este eficient să faceți acest lucru.
8. Dacă tranzacția are succes, procesul de server trimite un mesaj în rețea către aplicație. Dacă nu are succes, se transmite un mesaj de eroare.
9. De-a lungul acestei proceduri, celelalte procese de fundal rulează, urmărind condițiile care necesită intervenție. În plus, serverul de baze de date gestionează tranzacțiile altor utilizatori și previne disputa între tranzacțiile care solicită aceleași date.