Administracja Systemami Baz Danych Architektura systemu

Transkrypt

Administracja Systemami Baz Danych Architektura systemu
Administracja Systemami Baz Danych
dr inŜ. Juliusz Jezierski
Zakres przedmiotu:
przedmiotu:
• architektura systemów relacyjnych baz danych,
danych,
• organizacja przestrzeni danych,
danych,
• autoryzacja dostępu do danych,
danych,
• monitorowanie działań uŜytkowników,
ytkowników,
• strojenie zapytań,
• strojenie serwera,
serwera,
• wykonywanie kopii bezpieczeństwa,
stwa,
• odtwarzanie danych po awarii
Architektura systemu Oracle10g
(c) 1997-2005, Politechnika Poznańska, Instytut Informatyki: JJ, RW, MZ
© Instytut Informatyki Politechniki Poznańskiej
Slajd 1
Globalny Obszar SystemowySystemowypamięć współdzielona
Architektura systemu Oracle
Forms
Reports
aplikacje
uŜytkownika
obszar
współdzielony
bufor
biblioteczny
SQLplus
SQL
SQL
SQL
dane
DBWR
LGWR
SMON
PMON
CKPT
SNP
procesy drugoplanowe
© Instytut Informatyki Politechniki Poznańskiej
duŜy
obszar
globalny
obszar
uŜytkownika
instancja
bazy danych
ARCH
obszar
Javy
bufor
słownikowy
procesy usługowe
(serwery)
Globalny Obszar
Systemowy
bufory bufor dziennika
danych
powtórzeń
Slajd 3
•bufor danych (ang. database buffer cache)
•bufor dziennika (ang. redo log buffer)
•obszar współdzielony (ang. shared pool)
•bufor biblioteczny (ang. libarary cache)
•bufor słownikowy (ang. dictionary cache)
•globalny obszar uŜytkownika (ang. user global area - UGA)
•obszar Javy (ang. Java pool)
•duŜy obszar (ang. large pool)
© Instytut Informatyki Politechniki Poznańskiej
Slajd 4
Pamięć prywatna procesów instancji
Globalny obszar systemowy - sterowanie
wielkością
• Ręczne - za pomocą parametrów inicjalizacyjnych:
inicjalizacyjnych:
– DB_CACHE_SIZE - bufor danych
– LOG_BUFFER - bufor dziennika
– SHARED_POOL_SIZE obszar współdzielony (bufor
biblioteczny + bufor słownikowy + globalny obszar
uŜytkownika)
– JAVA_POOL_SIZE - obszar Javy
– LARGE_POOL_SIZE - duŜy obszar
• Automatyczne - za pomocą parametru inicjalizacyjnego:
inicjalizacyjnego:
SGA_TARGET
• Parametry te są dynamiczne, czyli mogą być zmieniane w
trakcie pracy instancji
• Wielkość całej instancji moŜe być ograniczona za pomocą
parametru SGA_MAX_SIZE
© Instytut Informatyki Politechniki Poznańskiej
SQL
PGA
prywatne obszary
poleceń SQL
bufor biblioteczny
SGA
SQL
Slajd 5
Parametry inicjalizacyjne mające wpływ na
wielkość prywatnego obszaru poleceń SQL
• OPEN_CURSORS - liczba prywatnych obszarów SQL
równocześnie wykorzystywanych przez kursory przez
pojedynczy proces serwera, zamknięcie kursora powoduje
jego dealokację, domyślnie 50
• SESSION_CACHED_CURSORS - umoŜliwia buforowanie
kursorów po stronie procesu serwera i odciąŜa
wykorzystanie obszaru bibliotecznego, domyślnie 0
© Instytut Informatyki Politechniki Poznańskiej
Obszary
PGA
Robocze
SQL
Private Global Area:
Area:
• stos - zmienne, tablice sesji itp.,
• informacje o sesji uŜytkownika,
• prywatny obszar poleceń SQL • zmienne i parametry poleceń
SQL(kursory)
• obszary robocze SQL - sortowanie
danych, tworzenia i przetwarzania map
bitowych oraz tablic haszowych
Slajd 7
© Instytut Informatyki Politechniki Poznańskiej
Slajd 6
Obszary robocze SQL
- sterowanie wielkością
• Ręczne - za pomocą parametrów inicjalizacyjnych (dla
kaŜdego procesu serwera):
– BITMAP_MERGE_AREA_SIZE
– CREATE_BITMAP_AREA_SIZE
– HASH_AREA_SIZE
– SORT_AREA_SIZE
• Automatyczne - za pomocą parametru inicjalizacyjnych:
inicjalizacyjnych:
– PGA_AGGREGATE_TARGET (od 10MB do 4000MB) określa docelowy rozmiar pamięci PGA dla wszystkich
sesji przyłączonych do instancji
– WORKAREA_SIZE_POLICY - dopuszczalne wartości:
• AUTO - uaktywnia automatyczne zarządzania
pamięcią sortowania
• MANUAL - dezaktywuje automatyczne zarządzania
pamięcią sortowania i umoŜliwia ręczną alokację za
pomocą parametrów %_AREA_SIZE
© Instytut Informatyki Politechniki Poznańskiej
Slajd 8
Procesy usługowe (serwery)
•
Konfiguracje serwerów usługowych SQL
procesy usługowe - realizują Ŝądania uŜytkowników,
wykonując:
– autoryzację, analizę składniową i optymalizację polecenia
SQL,
– odczyt niezbędnych bloków z dysku do buforów,
– pielęgnują listy: LRU i kolejkę punktu kontrolnego
obszar
współdzielony
bufor
danych
Bufor
biblioteczny
• z dedykowanymi serwerami
sqlplus
formularz
raport
4.
Odczyt danych
ZałoŜenie blokad
zapis do segm.
wycofania i
modyfikacja danych
Rejestracja zmian
SQL
SGA
• z współdzielonymi serwerami
we
sqlplus
formularz
2
© Instytut Informatyki Politechniki Poznańskiej
3
4
SQL
wy
dane
1
Slajd 9
© Instytut Informatyki Politechniki Poznańskiej
Slajd 10
Sekretarz Dziennika Powtórzeń
• Zadania Sekratarza Dziennika Powtórzeń (ang. Log WriterWriterLGWR)
LGWR)
– zapis danych z bufora dziennika do pliku
• następuje zatwierdzenie transakcji
•
•
•
•
SGA
bufor ten jest w jednej trzeciej zapełniony
upłyną trzy sekundy od ostatniego zapisu
zostaje zgłoszony punkt kontrolny
zanim DBW0 dokona jakiegokolwiek zapisu na dysk
zawartości bufora danych
lista LRU
SGA
Kolejka punktu kontrolnegot
LGWR
bufor dziennika
powtórzeń
DBW0
dane
© Instytut Informatyki Politechniki Poznańskiej
SQL
SQL
dane
zadania Sekretarza Bazy Danych (ang. Database WriterWriter-DBW0):
DBW0):
– zapis zmodyfikowanych bloków z buforów na dysk gdy:
• zostanie zgłoszony punkt kontrolny
• upłyną trzy sekundy od ostatniego zapisu
• brakuje miejsca w buforze danych
• liczba brudnych bloków przekroczy określoną granicę
bufor
danych
dispatcher
raport
Sekretarz Bazy Danych
•
dane
SQL
bufor dziennika
powtórzeń
bufor
słownikowy
1.
2.
3.
SQL
Slajd 11
© Instytut Informatyki Politechniki Poznańskiej
plik dziennika
powtórzeń
Slajd 12
Punkty kontrolne
Przełączanie plików dziennika powtórzeń
Zdarzenia systemowe uaktualniające informacje o najstarszym brudnym
bloku w buforze danych - inf.
inf. niezbędna do odtwarzania bd po awarii
instancji
Dwa rodzaje punktów kontrolnych:
– Przyrostowe punkty kontrolne - na podstawie ciągłej aktywności
DBW0, proces punktu kontrolnego CKPT uaktualnia pliki kontrolne i
nagłówki bazy danych
– Pełne punkty kontrolne
• DBR0 zapisuje w plikach bazy danych wszystkie brudne bufory
• CKPT uaktualnia pliki kontrolne i nagłówki plików danych
• Dwie kategorie:
– Całkowite - np. zamknięcie bazy danych, ręczne wykonanie
punktu kontrolnego za pomocą polecenia ALTER SYSTEM
CHECKPOINT
– dla konkretnej przestrzeni tabel - np. wyłączanie przestrzeni
tabel, przełączenie w tryb ReadOnly,
ReadOnly, rozpoczęcie backupu
online
•
LGWR
•
12
15
13
14
© Instytut Informatyki Politechniki Poznańskiej
© Instytut Informatyki Politechniki Poznańskiej
Slajd 13
Przyrostowy punkt kontrolny
Slajd 14
Proces Punktu Kontrolnego
•
LOG_CHECKPOINT_INTERVAL [OS blocks]
Proces Punktu Kontrolnego (ang. Checkpointer - CKPT):
– Zgłaszanie punktu kontrolnego,
– Zapisywanie w nagłówkach plików danych i w plikach kontrolnych
inf.
inf. o zakończonym punkcie kontrolnym
LOG_CHECKPOINT_TIMEOUT [s]
Najwcześniej
zmodyfikowane
bloki
SGA
Najpóźniej
zmodyfikowane bloki
CKPT
bufor
danych
Odtwarzanie po awarii instancji
Punkt kontrolny
plik kontrolny
12
FAST_START_IO_TARGET [I/O]
FAST_START_MMTR_TARGET [s]
DBWR
12 dane
Pliki danych
© Instytut Informatyki Politechniki Poznańskiej
Slajd 15
© Instytut Informatyki Politechniki Poznańskiej
12
pliki dziennika
powtórzeń
Slajd 16
Monitor Systemu
Monitor Procesów
• Monitor Systemu (ang. System Monitor - SMON)
odpowiedzialny jest za:
– odtwarzanie systemu po awarii w czasie uruchamiania
instancji:
• Faza redo – przepisuje z dzienników powtórzeń
wszystkie zarejestrowane zmiany do bazy danych,
• Faza undo – wycofuje na podstawie odtworzonych
segmentów wycofania wszystkie niezatwierdzone
zmiany.
– czyszczenie (lub usuwanie) segmentów tymczasowych
– scalanie wolnych rozszerzeń (ang. extent)
extent) w ramach
segmentu (tylko dla przestrzeni tabel zarządzanych przez
słownik bd)
bd)
• Monitor Procesów (ang. Process Monitor - PMON) zajmuje
się odtwarzaniem procesów serwera, które uległy awarii;
odpowiedzialny jest za:
– wycofaniem transakcji
– czyszczenie buforów
– zwalnianie zajętych zasobów (np.: blokady, zatrzaski itp.)
© Instytut Informatyki Politechniki Poznańskiej
Slajd 17
© Instytut Informatyki Politechniki Poznańskiej
Slajd 18
Proces odtwarzania - RECO
Archiwizator
• Odtwarza rozproszone transakcje, które uległy awarii w
trakcie wykonywania protokołu 2PC
• Archiwizator (ang. ArchiverArchiver-ARC0) dokonuje
archiwizacji onon-line plików dziennika powtórzeń
Proces koordynatora kolejki zadań - CQJ0
LGWR
• Zarządza kolejką do wykonywania periodycznych zadań - w
Windows widoczny jako usługa OracleScheduler
ARC0
bufor dziennika
powtórzeń
Proces kolejki zadań - J000J000-J999
• Wykonuje zadanie zlecone przez koordynatora
plik dziennika
powtórzeń
© Instytut Informatyki Politechniki Poznańskiej
Proces monitora kolejki QMN0
14 zarchiwizowany 14
13
15
dziennik
12
• Proces wykorzystywany przez opcję Oracle Streams
Advanced Queuing
powtórzeń
Slajd 19
© Instytut Informatyki Politechniki Poznańskiej
Slajd 20
Otwieranie bazy danych
OPEN
alter database open
MOUNT
alter database mount
NOMOUNT
Otwieranie bazy danych (cd.)
(cd.)
startup [open] [restrict]
• 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 z danymi oraz plików dziennika
powtórzeń,
– odtwarzanie po ewentualnej awarii,
startup mount
startup nomount
© Instytut Informatyki Politechniki Poznańskiej
Slajd 21
Zamykanie bazy danych
© Instytut Informatyki Politechniki Poznańskiej
Slajd 22
Zamykanie bazy danych
•tryb normal - z oczekiwaniem na zakończenie wszystkich
sesji uŜytkowników,
OPEN
SQLPLUS> shutdown [normal]
alter database close
MOUNT
•tryb transactional - z oczekiwaniem na zakończenie
wszystkich transakcji uŜytkowników,
SQLPLUS> shutdown transactional
alter database dismount
NOMOUNT
•tryb immediate - z wycofaniem wszystkich aktywnych
transakcji,
shutdown
SQLPLUS> shutdown immediate
•tryb abort - z natychmiastowym zakończeniem
procesów instancji i zwolnieniem pamięci SGA
wszystkich
SQLPLUS > shutdown abort
© Instytut Informatyki Politechniki Poznańskiej
Slajd 23
© Instytut Informatyki Politechniki Poznańskiej
Slajd 24

Podobne dokumenty