Geek Diary
følgende eksempel beskriver oracle databaseoperasjoner på det mest grunnleggende nivået. Det illustrerer En Oracle-databasekonfigurasjon der brukeren og tilhørende serverprosess er på separate datamaskiner, koblet til via et nettverk.
1. En forekomst har startet på en node Der Oracle Database er installert, ofte kalt verts-eller databaseserveren.
2. En bruker starter et program gyting en bruker prosess. Programmet forsøker å etablere en tilkobling til serveren. (Tilkoblingen kan være lokal, klient / server eller en tilkobling på tre nivåer fra et mellomnivå.)
3. Serveren kjører en lytter som har riktig oracle Net Services handler. Lytteren oppdager tilkoblingsforespørselen fra programmet og oppretter en dedikert serverprosess på vegne av brukerprosessen.
4. Brukeren kjører EN SQL-setning AV DML-typen og utfører transaksjonen. Brukeren endrer for eksempel adressen til en kunde i en tabell og utfører endringen.
5. Serverprosessen mottar setningen og kontrollerer det delte utvalget (en sga-komponent) for alle delte SQL-områder som inneholder en identisk SQL-setning. Hvis det finnes et delt SQL-område, kontrollerer serverprosessen brukerens tilgangsrettigheter til brukerens forespurte data, og det eksisterende delte SQL-området brukes til å behandle setningen. Hvis det ikke finnes et delt SQL-område, tildeles et nytt delt SQL-område for setningen slik at den kan analyseres og behandles.
6. Serverprosessen henter alle nødvendige dataverdier, enten fra den faktiske datafilen (tabellen) eller fra verdier som er lagret i bufferbufferen i databasen.
7. Serverprosessen endrer data i SGA. Fordi transaksjonen er begått, registrerer Log Writer-prosessen (LGWR) umiddelbart transaksjonen i loggfilen på nytt. Database Writer process (DBWn) skriver modifiserte blokker permanent til disk når det er effektivt å gjøre det.
8. Hvis transaksjonen er vellykket, sender serverprosessen en melding over nettverket til programmet. Hvis det ikke lykkes, sendes en feilmelding.
9. Gjennom hele denne prosedyren kjører de andre bakgrunnsprosessene, og ser etter forhold som krever intervensjon. I tillegg administrerer databaseserveren andre brukeres transaksjoner og forhindrer strid mellom transaksjoner som ber om de samme dataene.