The Geek Diary
følgende eksempel beskriver Oracle-databaseoperationer på det mest basale niveau. Det illustrerer en Oracle-databasekonfiguration, hvor brugeren og den tilknyttede serverproces er på separate computere, der er forbundet via et netværk.
1. En forekomst er startet på en node, hvor Oracle Database er installeret, ofte kaldet værten eller databaseserveren.
2. En bruger starter en applikation, der gyder en brugerproces. Programmet forsøger at etablere en forbindelse til serveren. (Forbindelsen kan være lokal, klient / server eller en tre-lags forbindelse fra et midterste niveau.)
3. Serveren kører en lytter, der har den relevante Oracle Net Services-handler. Lytteren registrerer forbindelsesanmodningen fra applikationen og opretter en dedikeret serverproces på vegne af brugerprocessen.
4. Brugeren kører en DML-type erklæring og forpligter transaktionen. For eksempel ændrer brugeren adressen på en kunde i en tabel og forpligter ændringen.
5. Serverprocessen modtager erklæringen og kontrollerer den delte pulje (en SGA-komponent) for ethvert delt område, der indeholder en identisk erklæring. Hvis der findes et delt område, kontrollerer serverprocessen brugerens adgangsrettigheder til brugerens anmodede data, og det eksisterende delte område bruges til at behandle erklæringen. Hvis der ikke findes et delt KVL-område, tildeles et nyt delt KVL-område til opgørelsen, så det kan analyseres og behandles.
6. Serverprocessen henter alle nødvendige dataværdier, enten fra den faktiske datafil (tabel) eller fra værdier, der er gemt i databasebuffercachen.
7. Serverprocessen ændrer data i SGA. Fordi transaktionen er begået, registrerer Logforfatterprocessen (LGV) straks transaktionen i gentagelseslogfilen. Databaseforfatterprocessen skriver ændrede blokke permanent til disken, når det er effektivt at gøre det.
8. Hvis transaktionen er vellykket, sender serverprocessen en besked på tværs af netværket til applikationen. Hvis det ikke lykkes, sendes en fejlmeddelelse.
9. Gennem hele denne procedure kører de andre baggrundsprocesser og holder øje med forhold, der kræver intervention. Derudover administrerer databaseserveren andre brugeres transaktioner og forhindrer strid mellem transaktioner, der anmoder om de samme data.