14_Architektura_SZBD..

Download Report

Transcript 14_Architektura_SZBD..

Rozdział 13: Architektura systemu Oracle
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Warstwy instalacji Oracle’a
Aplikacje
Narzędzia Oracla
SQL, PL/SQL
Server Oracle’a
System Operacyjny
Dane
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Architektura systemu Oracle
SQL
SQL
SQL
procesy usługowe
(serwery)
Globalny Obszar
Systemowy
procesy systemowe
dane
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
instancja
bazy danych
Instancja bazy danych
• instancja bazy danych - zbiór procesów (ang. process, task,
job, program) oraz obszar pamięci współdzielonej zwanej
Globalnym Obszarem Systemowym (ang. System Global
Area - SGA) obsługujący jedną bazę danych
Globalny Obszar
Systemowy
procesy systemowe
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Rodzaje organizacji instancji
• organizacja typu single-process
Aplikacja
serwer Oracle
Globalny Obszar
Systemowy
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Rodzaje organizacji instancji (cd.)
• organizacja typu multiple-processes
SQL
SQL
SQL
procesy usługowe
(serwery)
Globalny Obszar
Systemowy
DBWR
LGWR
SMON
PMON
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Procesy
drugoplanowe
CKPT
ARCH
Struktura bazy danych Oracle’a
procesy drugoplanowe
(systemowe)
Obszar Globalny
Systemu
Pliki bazy danych
Pliki dziennika powtórzeń
Pliki kontrolne
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Pliki startowe
Procesy usługowe (serwery)
• procesy usługowe - realizują żądania użytkowników, wykonując:
– analizę składniową, optymalizację i wykonanie zleceń SQL,
– odczyt niezbędnych bloków z dysku do buforów,
– pielęgnują listy: LRU i zmodyfikowanych bloków
bufor
danych
SGA
SQL
proces
usługowy
lista LRU
lista zmodyfikowanych
blokow
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
dane
Sekretarz Bazy Danych
• zadania Sekretarza Bazy Danych (ang. Database WriterDBWR):
– zapis zmodyfikowanych bloków z buforów na dysk,
bufor
danych
SGA
lista LRU
t
DBWR
lista zmodyfikowanych
blokow
dane
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Sekretarz Dziennika Powtórzeń
• Zadania Sekratarza Dziennika Powtórzeń (ang. Log WriterLGWR)
• zapis danych z bufora dziennika do pliku,
• zapis rekordu zakończenia transakcji,
• realizacja punktu kontrolnego (ang. checkpoint).
SGA
LGWR
bufor dziennika
powtórzeń
plik dziennika
powtórzeń
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Proces Punktu Kontrolnego
• Proces Punktu Kontrolnego (ang. Checkpointer - CKPT)
może przejąć zadanie realizacji punktu kontrolnego,
normalnie wykonywanego przez LGWR
bufor
danych
SGA
CKPT
plik kontrolny
12
DBWR
12
dane
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
12
plik dziennika
powtórzeń
Monitor Systemu
• Monitor Systemu (ang. System Monitor - SMON)
odpowiedzialny jest za „porządki”, do jego obawiązków
należy:
– odtwarzanie systemu po awarii w czasie uruchamiania
instancji,
– usuwanie niepotrzebnych segementów tymczasowych,
– aktualizowanie pliku kontrolnego bazy,
– scalanie wolnych rozszerzeń (ang. extent) w ramach
segmentu
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Monitor Procesów
• Monitor Procesów (ang. Process Monitor - PMON) zajmuje
się odtwarzaniem procesów usługowych, które uległy
awarii;
odpowiedzialny jest za:
– usuwanie nienormalnie zakończonych połączeń,
– wycofywanie nie zatwierdzonych transakcji,
– czyszczenie buforów,
– zwalnianie zajętych zasobów (np.: blokady, zatrzaski itp.
założonych przez zatwierdzone procesy),
– wykrywanie wewnętrznych zakleszczeń pomiędzy
blokadami zakładanymi na dane bazy i automatyczne
wycofywanie transakcji
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Archiwizator
• Archiwizator (ang. Archiver-ARCH) dokonuje archiwizacji
online plików dziennika powtórzeń
LGWR
bufor dziennika
powtórzeń
plik dziennika
powtórzeń
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
zarchiwizowany
dziennik
powtórzeń
ARCH
Organizacja pamięci operacyjnej
• przeznaczenie - przechowywanie:
– kodu wykonywanych programów, procesów,
– informacji o bieżących sesjach użytkowników,
– danych niezbędnych do wykonania programu (np.: stan
wykonywanego zapytania),
– informacji współdzielonych przez różne procesy (np.:
blokady),
– buforowanych danych.
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Organizacja pamięci operacyjnej (cd.)
• obszar kodu oprogramowania,
• Globalny Obszar Systemowy (SGA):
– bufor danych (ang. Database Buffer Cache),
– bufor dziennika (ang. Redo Log Buffer),
– współdzielony zbiornik (ang. Shared Pool),
• Globalny Obszar Programu (ang. Program Global Area),
• obszar sortowania (ang. Sort Area)
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Organizacja pamięci operacyjnej (cd.)
obszar kodu
oprogramowania
aplikacja
obszar kodu
oprogramowania
serwer
PGA
SA
SGA
bufor
danych
bufor
dziennika
powtórzeń
współdzielony
zbiornik
obszar kodu
oprogramowania
procesy systemowe
PGA
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Organizacja pamięci operacyjnej (cd.)
• obszar kodu oprogramowania - fragment pamięci
operacyjnej do przechowywania i wykonywania
programów; jest tylko do odczytu; na pewnych platformach
może być współdzielony między różne procesy,
• SGA - współdzielony obszar pamięci operacyjnej
zawierający dane i informacje sterujące dla jednej instancji:
– bufor danych - fragment SGA służący do buforowania
danych użytkowych, zarządzany algorytmem LRU,
wielkość określana przez DB_BLOCK_BUFFERS [Blk],
– bufor dziennika powtórzeń - obszar SGA o organizacji
pętli służący do buforowania zapisu do dziennika
powtórzeń, wielkość określana przez LOG_BUFFER [B]
(domyślnie: 4*DB_BLOCK_SIZE),
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Organizacja pamięci operacyjnej (cd.)
– współdzielony zbiornik, wielkość określana przez
SHARED_POOL_SIZE, składa się z:
• współdzielonego obszaru zleceń SQL - zawiera
elementy identycznych zleceń SQL (drzewo analizy
składniowej, plan wykonania itp.)
PGA
PGA
prywatny obszar
zleceń SQL
prywatny obszar
zleceń SQL
współdzielony obszar
zleceń SQL
współdzielony zbiornik
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Organizacja pamięci operacyjnej (cd.)
• bufor słownika bazy danych (ang. Data Dictionary
Cache),
• Globalny Obszar Programu - fragment pamięci zawierający
dane i informacje sterujące pojedynczym procesem,
obejmuje:
– stos - zmienne, tablice sesji itp.,
– informacje o sesji użytkownika,
– prywatny obszar zleceń SQL - zmienne i parametry
zleceń SQL,
• obszar sortowania - fragment pamięci niezbędny do
sortowania danych, wielkość określana przez
SORT_AREA_SIZE [B]
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Otwieranie bazy danych
OPEN
alter database open
startup [open]
MOUNT
alter database mount
NOMOUNT
startup mount
startup nomount
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Otwieranie bazy danych (cd.)
• tryb nomount - używany do tworzenia bazy danych, plików
kontrolnych itp., powoduje:
– uruchmienie instancji,
– otwarcie pliku z parametrami i plików śladowych,
• tryb mount - używany do reorganizacji bazy danych (np.:
zmiany nazwy pliku) oraz odtwarzania po awarii, powoduje:
– otwarcie plików kontrolnych i przyłączenie plików z
danymi oraz plików dziennika powtórzeń,
• tryb open - udostępnia bazę danych użytkownikom do
normalnej pracy, powoduje:
– otwarcie plików danymi oraz plików dziennika
powtórzeń,
– odtwarzanie po ewentualnej awarii,
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Zamykanie bazy danych
OPEN
alter database close
MOUNT
alter database dismount
NOMOUNT
shutdown
(c) 2000, Instytut Informatyki Politechniki Poznańskiej
Zamykanie bazy danych
•tryb normal - z oczekiwaniem na zakończenie wszystkich
sesji użytkowników,
SVRMGR> shutdown [normal]
•tryb immediate - z wycofaniem wszystkich aktywnych
transakcji,
SVRMGR> shutdown immediate
•tryb abort - z natychmiastowym zakończeniem wszystkich
procesów instancji i zwolnieniem pamięci SGA
SVRMGR> shutdown abort
(c) 2000, Instytut Informatyki Politechniki Poznańskiej