Podstawy baz danych - Budowa serwera

1. Serwer bazy danych to zespół silnika bazy, zasobów sprzętowych, plików bazodanowych, dzienników powtórzeń itp.

2. Silnik bazy określa zbiór procesów lub programów realizujących funkcje związane z obsługą danych.

3. Zalety serwera bazy danych:
  • praca w środowisko klient-serwer (oddzielenie funkcji serwera bazy od zadań wykonywanych przez klienta; serwer służy do składowania i zarządzania zbiorem danych, natomiast klient formułuje zapytania o dane, przetwarza, prezentuje i modyfikuje dane)
  • praca w środowisku wielowarstwowym (serwer bazy danych, serwer aplikacji, przeglądarka)
  • składowanie i zarządzanie dużymi bazami danych (serwer wykorzystuje wysokowydajne metody asynchronicznego zapisu na dyski oraz uporządkowuje zasoby sprzętowe)
  • obsługa wielu użytkowników jednocześnie
  • możliwość przenoszenia danych
  • zapewnienie dużej dostępności danych (24/7)
  • zapewnienie kontroli dostępu do danych (role, przywileje, dostęp użytkowników)
  • wymuszenie spójności danych (dostęp do danych bez zaburzenia logicznej struktury oraz zawartości)
  • replikacja danych (replikacja obiektów albo zbiorów danych)
4. Bazy danych Oracle:
  • Fizyczna struktura bazy (zdeterminowana przez System Operacyjny; pliki danych, dziennika powtórzeń, konfiguracyjne, kontrolne)
  • Logiczna struktura bazy (liczbę przestrzeni tabel, definicje schematów i należących do nich obiektów bazodanowych)
  • Instancja Oracle (fragment pamięci operacyjnej i mocy obliczeniowej komputera, które pracują jako silnik bazy danych)
5. SGA to globalna przestrzeń systemowa, czyli obszar pamięci współużytkowanej wykorzystywanym przez Oracle`a do przechowywania informacji kontrolnych instancji Oracle`a. W skład SGA wchodzi:
  • bufory pamięci podręcznej bazy danych
  • bufory dziennika powtórzeń (zmiany wprowadzanych do bazy)
  • pula współużytkowania
6. Struktura fizyczna bazy danych Oracle:
  • instancja (oprogramowanie operujące na bazie danych)
  • pliki na dysku (zawierające tabele z danymi i inne obiekty struktury bazy danych oraz pomocnicze struktury danych) - pliki bazy danych, pliki dziennika powtórzeń, pliki kontrolne, pliki startowe
Pliki dziennika powtórzeń zawierają dane potrzebne do awaryjnego odtwarzania danych składowanych w bazie. Każda baza Oracle posiada co najmniej 2 pliki dziennika powtórzeń. 

Pliki kontrolne zawierają informacje o położeniu wszystkich plików bazy danych wraz z datą i godziną ich zamknięcia, z pełną ścieżką dostępu.

Pliki konfiguracyjne i startowe zawierają zbiór parametrów startowych bazy i są czytane tylko podczas jej uruchomienia. Zawierają informację o wielkości obszaru SGA, nazwę bazy danych oraz o położeniu plików kontrolnych.

7. Struktura logiczna baz danych.

Struktura logiczna bazy Oracle opiera się na podziale na mniejsze jednostki. Najmniejszy element to blok będący wielokrotnością klastra w systemie operacyjnym. Kolejnym elementem są ekstenty grupujące szereg sąsiednich bloków zajmowanych przez określony obiekt bazy (np. tabelę).
Zbiór kilku ekstentów to segment. Segment może być przypisany tylko do jednej przestrzeni tabel.

Segmenty:
  • Segmenty danych przechowują tabele lub klastry. Każda tabela posiada przynajmniej 1 segment danych.
  • Segmenty indeksów przechowują indeksy. Do każdego indeksu przypisany jest 1 segment.
  • Segmenty tymczasowe są tworzone gdy jest potrzebna przestrzeń robocza dla operacji takich jak sortowanie czy realizacja zapytań sql. Segmenty tymczasowe są zwalniane po wykonaniu zadania.
  • Segmenty wycofania przechowują informacje niezbędne do cofnięcia zmian wprowadzonych w BD za pomocą operacji Rollback. 

Dane są przechowywane w przestrzeni tabel, którą możemy administrować. Jednak fizycznie dane przechowywane są w plikach danych. Zarządzanie logicznymi strukturami BD jest niezależne od ich fizycznego umiejscowienia w plikach na dysku. 

Podczas tworzenia BD Oracle automatycznie tworzy przestrzeń tabel SYSTEM.
Zapisane są tam wszystkie obiekty słownikowe BD oraz programów języku PL/SQL (procedury wbudowane, funkcje, pakiety, triggery).