The Geek Diary
poniższy przykład opisuje operacje na bazie danych Oracle na najbardziej podstawowym poziomie. Ilustruje on konfigurację bazy danych Oracle, w której użytkownik i powiązany z nim proces serwera znajdują się na oddzielnych komputerach połączonych przez sieć.
1. Instancja została uruchomiona w węźle, w którym zainstalowana jest baza danych Oracle, często nazywanym hostem lub serwerem bazy danych.
2. Użytkownik uruchamia aplikację wywołującą proces użytkownika. Aplikacja próbuje nawiązać połączenie z serwerem. (Połączenie może być lokalne, klient / serwer lub połączenie trójpoziomowe z warstwy środkowej.)
3. Serwer uruchamia detektor, który ma odpowiednią obsługę Oracle Net Services. Odbiornik wykrywa żądanie połączenia z aplikacji i tworzy dedykowany proces serwera w imieniu procesu użytkownika.
4. Użytkownik uruchamia polecenie SQL typu DML i zatwierdza transakcję. Na przykład użytkownik zmienia adres klienta w tabeli i zatwierdza zmianę.
5. Proces serwera otrzymuje instrukcję i sprawdza współdzieloną pulę (komponent SGA) pod kątem dowolnego współdzielonego obszaru SQL zawierającego identyczną instrukcję SQL. Jeśli zostanie znaleziony wspólny obszar SQL, proces serwera sprawdza uprawnienia użytkownika do żądanych danych, a istniejący wspólny obszar SQL jest używany do przetwarzania instrukcji. Jeśli nie zostanie znaleziony wspólny obszar SQL, zostanie przydzielony nowy wspólny obszar SQL dla instrukcji, dzięki czemu można go przetworzyć i przetworzyć.
6. Proces serwera pobiera wszelkie niezbędne wartości danych, z rzeczywistego pliku danych (tabeli)lub z wartości przechowywanych w buforze bazy danych.
7. Proces serwera modyfikuje dane w SGA. Ponieważ transakcja została popełniona, proces Log Writer (LGWR) natychmiast rejestruje transakcję w pliku dziennika ponowienia. Proces Database Writer (DBWn) zapisuje zmodyfikowane bloki na stałe na dysk, gdy jest to wydajne.
8. Jeśli transakcja się powiedzie, proces serwera wyśle wiadomość przez sieć do aplikacji. Jeśli nie powiedzie się, zostanie wysłany komunikat o błędzie.
9. Podczas całej tej procedury przebiegają inne procesy w tle, obserwując warunki, które wymagają interwencji. Ponadto serwer bazy danych zarządza transakcjami innych użytkowników i zapobiega sporom między transakcjami, które wymagają tych samych danych.