Professional Documents
Culture Documents
Oracle. Projektowanie Rozproszonych Baz Danych
Oracle. Projektowanie Rozproszonych Baz Danych
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
Oracle. Projektowanie
rozproszonych baz danych
Autorzy: Robert Wrembel, Bartosz Bbel
ISBN: 83-7197-951-7
Format: B5, stron: 304
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Wstp ............................................................................................... 9
Rozdzia 1. Architektura rozproszonej bazy danych ............................................. 13
Architektura rozproszonej bazy danych............................................................................13
Specjalizowane oprogramowanie sieciowe ................................................................14
cznik bazy danych...................................................................................................14
Perspektywa ................................................................................................................15
Synonim ......................................................................................................................15
Migawka .....................................................................................................................15
Nazewnictwo baz danych w sieci......................................................................................15
Domena i nazwa globalna...........................................................................................16
Nazwa usugi bazy danych..........................................................................................17
Spis treci
5
Przykadowa sesja odtwarzania transakcji rozproszonej ................................................102
Szeregowanie transakcji rozproszonej i transakcji w lokalnych bazach danych ............109
Spis treci
Rozdzia 3.
Procesy Oracle
komunikacji sieciowej
Komunikacja midzy kad aplikacj uytkownika a baz danych odbywa si za porednictwem tzw. procesu usugowego (ang. server process). Jego rol jest obsuga da
uytkownikw. Do jego zada m.in. naley:
wykonywanie analizy skadniowej i optymalizacja polece SQL;
wykonywanie polece SQL;
odczytywanie danych danych z dysku i umieszczanie ich w pamici SGA
W SZBD Oracle procesy usugowe mog pracowa w trzech nastpujcych konfiguracjach: procesw dedykowanych, procesw czuwajcych i procesw wspdzielonych.
Wszystkie trzy typy procesw omwione zostan w niniejszym rozdziale.
60
Rysunek 3.1.
Komunikacja
midzy aplikacj
uytkownika
a baz danych
w architekturze
z dedykowanymi
procesami usugowymi
61
62
Architektura systemu z dedykowanymi procesami czuwajcymi powinna by stosowana dla niewielkiej i redniej liczby uytkownikw. Liczba uytkownikw, przy ktrej
konfiguracja ta zapewnia efektywny dostp do bazy danych, zaley od mocy obliczeniowej i pamici RAM wza. Kady nowy proces uytkownika wymaga uruchomienia
odrbnego procesu usugowego, ktry zajmuje czas procesora i alokuje swoj pami.
Oznacza to, e nawet silny obliczeniowo wze dla duej liczby rwnoczenie pracujcych uytkownikw wykorzysta wszystkie swoje zasoby, co z kolei obniy efektywno systemu. Z tych wzgldw Oracle obsuguje tak zwan architektur ze wspdzielonymi procesami usugowymi.
63
64
Rozmiar pamici
procesw usugowych
W architekturze wspdzielonych procesw usugowych standardowo kady proces
alokuje pami w obszarze wspdzielonym (ang. shared pool) pamici SGA por.
[O9Con, O9Dba, LoKo02, LoTh02]. Rozwizanie takie nie jest jednak zalecane, ponie-
65
66
!
:;1*:@:B&&&
/@:BC#%!&&
C;)2411><1D&
11>C#%!CJ1/E+J;)*>:@:B3*:
4J=
@:B&&&
*:
=@:B'
CC:)1'-;<1'9
11>C#%!CJ1NJ;)*>:@:B 3*:
4J=
67
@:B&&&
*:
=@:B'
$##%:)1'-;<1'-*RD*'-;5&'--1'*=
S;1*'+#J3'!8%!0
3
8GG-
$##:)1'-;<1'-*RD*'-;5&'--1'*=
S;1*'+#J3'8-G-0
3
8G8%
$##:)1'-;<1'-*RD*'-;5&'--1'*=
S;1*'+#J3'!G!0
3
8G8O
$###
&";<1'-*RD*'-;5&'--1'*=
S;1*'+#J3'!!G0
3
8G8P
$'$()*'$
&+&";<1'-1'*=
9
)**1*25A21*32*1*;
W systemach Unix wydanie polecenia (np. ."/) umoliwia wywietlenie procesw systemowych. Instancja w architekturze wspdzielonych procesw usugowych
bdzie posiadaa procesy ekspedytorw o nazwach ora_dxxx_SID.
Kolejnym rdem informacji na temat architektury wspdzielonych procesw usugowych s dynamiczne tabele systemowe, m.in. V$DISPATCHER i V$SHARED_SERVER
por. [O9Ref]. Pierwsza z nich udostpnia nazwy i parametry ekspedytorw, a druga
nazwy i parametry wspdzielonych procesw usugowych. Przykadowe zapytanie do V$DISPATCHER i jego wynik przedstawiono poniej.
T0*)*1;*J1*5J:J171I7;FK3*M
$+E/U,
---
3
+
8G--
--
3
+
8G-
--!
3
+!
8G-!
Atrybut name oznacza nazw ekspedytora, network przechowuje parametry wyspecyfikowane w omwionej wczeniej sekcji , status przechowuje aktualny stan
pracy ekspedytora. status moe przyj m.in. jedn z nastpujcych wartoci: WAIT
ekspedytor oczekuje na danie poczenia, SEND ekspedytor wysya wiadomo,
RECEIVE ekspedytor otrzymuje danie, CONNECT nawizywane jest poczenie z aplikacj uytkownika, DISCONNECT poczenie jest przerywane. Warto
atrybutu CONF_INDX okrela numer parametru inicjujcego $%, ktry posuy do utworzenia ekspedytora. Ekspedytor utworzony na podstawie wartoci pierwszego w kolejnoci parametru otrzymuje warto rwn 0, ekspedytor utworzony na
podstawie drugiego parametru otrzymuje warto 1 itp. Powyszy wynik otrzymano
dla parametrw $% okrelonych w sposb przedstawiony poniej.
C
3
8G--
--C
68
Zarzdzanie parametrami
pracy instancji w architekturze
wspdzielonych procesw usugowych
W czasie pracy instancji bazy danych mona dynamicznie modyfikowa liczb dziaajcych wspdzielonych procesw usugowych i ekspedytorw. Suy do tego celu
polecenie "0",. Przykadowo w Oracle9i za pomoc poniszego polecenia
aktualna liczba procesw usugowych ustalana jest na 1. We wczeniejszych wersjach
systemu +"- ")" naley zastpi przez , ")".
T0)*=*;***F* 8-M
We wczeniejszych wersjach systemu -* +" naley zastpi przez , -* +".
Przykadowo, ponisze polecenie dodaje do systemu jeden ekspedytor o indeksie 3.
T0)*=*;*3*
!L
, 8
8
8G-8
G
LM
69
Jeeli w pliku sqlnet.ora zostanie umieszczony parametr $ ',
wwczas dla wszystkich pocze aplikacji bd alokowane procesy dedykowane, nawet
jeli w definicji usugi parametr ' przyjmuje warto SHARED. Brak parametru
$ ' lub wpis $ '22 powoduje alokowanie procesw usugowych zgodnie z konfiguracj instancji i wartoci parametru '.
70