Title: CREATE [UNDO] TABLESPACE nazwa przestrzeni tabel
1Tworzenie przestrzeni tabel
- CREATE UNDO TABLESPACE nazwa przestrzeni tabel
- DATAFILE nazwa pliku danych rozmiar
- instrukcja przechowywania
- BLOCKSIZE rozmiar K
- TEMPORARY
- EXTENT MANAGEMENT DICTIONARY
- EXTENT MANAGEMENT LOCALAUTOALLOCATE
- EXTENT MANAGEMENT LOCALUNIFORM SIZE rozmiar
K/M - SEGMENT SPACE MANAGEMENT AUTO
- SEGMENT SPACE MANAGEMENT MANUAL
2Tworzenie przestrzeni tabel
UNDO parametr okresla, ze tworzona przestrzen
tabel bedzie zawierac informacje sluzace do
cofania operacji instrukcja przechowywania -
okresla nazwe pliku, rozmiar itp. BLOCKSIZE
tworzenie przestrzeni tabel o nie standardowych
rozmiarach bloków TEMPORARY przestrzen tabel
bedzie wykorzystywana jako tymczasowa EXTEND
MANAGEMENT okresla, czy przestrzen tabel bedzie
zarzadzana slownikiem danych, czy
lokalnie SEGMENT SPACE MANAGEMENT instrukcja
wykorzystywana do ustawienia automatycznego (za
pomoca bitmapy) badz recznego (za pomoca listy
wolnych bloków) zarzadzania wolna przestrzenia w
segmentach
3segmenty, ekstenty i bloki danych
ekstent
plik danych
blok
segment
4Ekstenty
- Aby system zarzadzania baza danych Oracle osiagal
max elastycznosc i jednoczesnie byl jak
najbardziej wydajny, konieczne bylo stworzenie
mechanizmu, w którym ciagle bloki bylyby tworzone
i zarzadzane razem - Ekstent jest zbiorem ciaglych bloków
- Taki zbiór bloków jest tworzony za kazdym razem,
kiedy do obiektu wymagana jest dodatkowa
przestrzen - Segmenty sa po prostu zbiorem ekstentów
5Istnieje kilka typów segmentów
segment danych podstawowy typ segmentu, który
moze byc wykorzystywany do przechowywania tabel
oraz klastrów segment indeksu do
przechowywania indeksów segment przywracania
przechowywane sa informacje sluzace do
wycofywania operacji. Segmenty te zostaly
zastapione przestrzeniami tabel cofania segment
tymczasowy do przechowywania danych
generowanych podczas dzialania Oraclea. Moga byc
one uzywane do sortowania i zlaczen
6Globalna przestrzen systemowa SGA
- Globalna przestrzen systemowa SGA jest obszarem
pamieci wspóluzytkowanej wykorzystywanym przez
Oraclea do przechowywania informacji kontrolnych
instancji Oraclea - SGA jest przydzielana podczas uruchamiania
instancji i zwalniana podczas jej zatrzymywania
7W sklad informacji zawartych w SGA wchodza
- bufory pamieci podrecznej bazy danych
przechowuja ostatnio uzywane bloki danych - bufory dziennika powtórzen czyli zmian
wprowadzonych do bazy wykorzystywane do
odtwarzania po awarii systemu - pula wspóluzytkowania struktury
wspóluzytkowanej pamieci, takie jak
wspóluzytkowany obszar SQL, wewnetrzne informacje
slownika danych
8Globalna przestrzen systemowa SGA
- Dzieki temu, ze pamiec podreczna przechowuje
bloki w oparciu o algorytm preferujacy ostatnio
uzywane elementy, czesciej wykorzystywane bloki
pozostaja w pamieci, co pozwala na zmniejszenie
operacji we/wy i podniesienie wydajnosci
9Budowa serwera bazy danych
- Serwer bazy danych sklada sie z
- Plików na dysku zawierajacych tabele z danymi i
inne obiekty bazy danych oraz pomocnicze
struktury danych - Instancji (jednej lub wiecej) - czyli
oprogramowania operujacego na bazie danych - (jest to zbiór procesów i wspólna pamiec
umozliwiajaca korzystanie uzytkownikom z bazy
danych)
10Procesy Oracle komunikacji sieciowej
- komunikacja miedzy kazda aplikacja uzytkownika a
baza danych odbywa sie za posrednictwem tzw
procesu uslugowego. Jego rola jest obsluga zadan
uzytkowników
11Zadania serwera bazy danych
- Wykonywanie instrukcji SQL
- Przechowywanie i organizacja danych
- Sprawowanie kontroli nad
- spójnoscia,
- zarzadzanie dostepem,
- transakcje,
- konta,
- zasoby,
- zarzadzanie zasobami
12Wykorzystanie systemu zarzadzania baza danych
dla wspólbieznej pracy wielu uzytkowników
- Bazy sa przewidziane do wspólbieznej pracy wielu
uzytkowników - Transakcje to niepodzielne operacje wykonywane
przez serwer na zamówienie klienta - System pilnuje aby wszystkie operacje zostaly
prawidlowo wykonane i dopiero gdy wszystko
zakonczy sie sukcesem, wtedy transakcja jest
zatwierdzana - Gdy którakolwiek z czesci transakcji sie nie
powiedzie, wtedy cala transakcja jest anulowana - Dostep do danych poprzez transakcje, blokady,
konta
13Laczenie sie z egzemplarzem bazy danych
- Aby polaczyc sie z egzemplarzem bazy danych z
poziomu klienta, nalezy skonfigurowac plik
tnsnames.ora znajdujacy sie w katalogu
ORACLE_HOME/network/admin - w edytorze tekstu
- za pomoca programu Net Menager
- ORCL
- (DESCRIPTION
- (ADDRESS(PROTOCOLTCP)
- (HOST
) - (PORT
)) - (CONNECT_DATA
- (SERVERDEDOCATED
- (SERVICE_NAMEorcl)))
nazwa lub adres IP serwera
Numer portu dla serwera DB
Nazwa uslugi lub identyfikatorSID
14SQLPlus - wersje
-
- SQLPlus uruchamiany z wiersza polecen systemu
Unix - Klient z graficznym interfejsem uzytkownika dla
SQLPlus - SQL Worksheet
- iSQLPlus
15SQLPlus uruchamiany z wiersza polecen systemu
Unix
-
- Aby polaczyc sie z egzemplarzem bazy, nalezy
wpisac w wierszu polecen - sqlplus system/oracle_at_orcl
- Lepiej jest laczyc sie uzywajac nazwy uzytkownika
z symbolem_at_ wraz z nazwa uslugi sieciowej - sqlplus system_at_orcl
- Instrukcja CONNECT umozliwia nawiazanie nowego
polaczenia w aktualnej sesji - np. CONNECT ctxsys_at_orcl
16Klient z graficznym interfejsem uzytkownika dla
SQLPlus
- Graficzny interfejs uzytkownika programu SQLPlus
nie obejmuje zadnych zaawansowanych funkcji,
które nie bylyby dostepne w wersji uruchamianej z
wiersza polecen - Aby uruchomic ten interfejs w systemie Windows
nalezy otworzyc - Start/WszystkieProgramy/PodstawowyKatalogOracle/
- Application Development i wybrac opcje SQL Plus
17SQL Worksheet
- Oferuje funkcje niedostepne z wiersza polecen
oraz przez graficzny interfejs - mozliwosc przywolania starszych instrukcji z
historii i ponownego wczytania ich do bufora w
celu ich uruchomienia - wyswietlenie planu wykonania uruchamianych
instrukcji SQL - Plan wykonania to metoda dostepu wybrana przez
Oracle w celu jak najbardziej efektywnego
wykonania okreslonych instrukcji SQL
18iSQLPlus
- umozliwia wyswietlenie wielobajtowych znaków np.
japonskich - Aby zmienic kodowanie czcionek w przegladarce
Internet Explorer, nalezy wybrac opcje - Widok/Kodowanie/Unicode(UTF-8)
- wystarczy zalogowac sie do iSQKPlus przy uzyciu
adresu URL okreslonego w trakcie tworzenia
egzemplarza bazy, a system wyswietli wszystkie
czcionki z obsluga UTF-8
19Zmienianie ustawien sesji w SQLPlus
- W trakcie logowania SQLPlus uruchamia skrypt
glogin.sql z katalogu ORACLE_HOME/sqlplus/admin,
konfiguruje srodowisko na potrzeby sesji - Mozliwa jest zmiana ustawien po zalogowaniu sie
do SQLPlus - Latwiej jest dodac najczesciej uzywane opcje do
skryptu glogin.sql, aby system ustawil je
automatycznie - Niestandardowe ustawienia
- SET pages 99 - rozmiar strony
- SET echo OFF
- SET long 6400
20JDEVELOPER
- SQLPlus jest wygodny, poniewaz jest wbudowany w
kazda aktualna wersje bazy danych i stanowi
podstawowy interfejs serwera bazodanowego - Funkcje JDeveloper obejmuja
- wyswietlanie w ramkach wszystkich obiektów
bazodanowych - mozliwosc edycji kodu PL/SQL bazy danych w
JDeveloper - szablony kodu przyspieszajace generowanie kodu
- porady zwiazane z optymalizacja dzialania SQL
- mechanizmy diagnostyczne przechodzenie przez kod
21JDEVELOPER
- Srodowisko JDeveloper mozna pobrac ze strony
- otn.oracle.com
- Nie ma on instalatora wszystkie pliki sa
spakowane w archiwum Zip proces rozpakowywania
powoduje zainstalowanie aplikacji
22PAKIETY WBUDOWANE
- Pakiety udostepniane w Oracle (pakiety wbudowane)
daja programistom dostep do funkcjonalnosci,
która znacznie rozszerza mozliwosci rozwiazywania
zlozonych problemów
23PAKIETY WBUDOWANE UZYTKOWNIKA SYS
- Kazdy pakiet ma publiczny synonim
- Ten synonim umozliwia wywolywanie danego pakietu
- Do utworzenia pakietu sluzy skrypt catproc.sql,
który nalezy wywolac w czasie tworzenia bazy
danych - Jesli korzystamy z asystenta konfiguracji bazy
danych skrypt zostanie uruchomiony automatycznie - Aby uzywac tych pakietów, trzeba przyznac danemu
uzytkownikowi uprawnienia EXECUTE
24PAKIETY WBUDOWANE UZYTKOWNIKA SYS
- Jedna z najwazniejszych funkcjonalnosci jest
mozliwosc umieszczania w jednej bazie danych
bloków o róznych rozmiarach - Umozliwia to czerpanie korzysci z duzych bloków w
systemach wspomagania decyzji oraz z malych
bloków w przetwarzaniu transakcji na biezaco - Zeby korzystac z wielu rozmiarów bloków, trzeba
skonfigurowac bufor pamieci podrecznej Oraclea
tak, zeby byl podzielony na rózne czesci w
oparciu o rozmiar bloku oraz stworzyc przestrzen
tabel, uzywajac niestandardowych rozmiarów bloków
25Rozproszone bazy danych
- Rozproszona baza danych - logicznie powiazany
zbiór danych (oraz opis tych danych)
wspóluzytkowanych przez wiele osób, fizycznie
rozproszony w sieci komputerowej. Bazujac na tej
definicji spróbujmy zdefiniowac rozproszony SZBD. - Rozproszony SZBD (RSZBD) - oprogramowanie
umozliwiajace zarzadzanie rozproszona baza danych
oraz sprawiajace, ze fakt rozproszenia danych
jest niewidoczny (przezroczysty) dla uzytkownika.
26Cechy i wlasnosci rozproszonego SZBD
- Zbiór logicznie powiazanych wspóluzytkowanych
danych - Dane sa podzielone na fragmenty (czesci)
- Poszczególne fragmenty moga byc powielane
- Fragmenty sa rozmieszczone na róznych komputerach
- Komputery sa polaczone za pomoca sieci
komunikacyjnej - Dane znajdujace sie w kazdym z wezlów systemu
znajduja sie pod kontrola lokalnego SZBD - Kazdy lokalny SZBD moze niezaleznie uruchamiac
lokalne aplikacje - Kazdy SZBD jest wykorzystywany w co najmniej
jednej aplikacji globalnej
27Rozproszony system zarzadzania baza danych
28Przetwarzanie rozproszone
29pamiec dzielona
30dzielony dostep do dysku
31zaden zasób nie jest wspóluzytkowany
32Zalety RSZBD
- Odzwierciedlenie struktury organizacyjnej
- Wieksze mozliwosci wspóluzytkowania danych oraz
lokalna autonomia - Zwiekszenie dostepnosci danych
- Wieksza wiarygodnosc
- Wieksza wydajnosc systemu
- Koszty
- Rozwój modularny
33Wady RSZBD
- Zlozonosc
- Koszty
- Trudniejsze zapewnienie bezpieczenstwa
- Trudniejsza kontrola integralnosci
- Brak standardów
- Brak doswiadczen
- Bardziej skomplikowane projektowanie bazy danych
34Homogeniczne i heterogeniczne RSZBD
- Homogeniczne
- wszystkie wezly wykorzystuja te sama wersje
oprogramowania SZBD, - projektowanie i zarzadzanie proste,
- mozliwy przyrostowy rozwój systemu
- Heterogeniczne
- wezly moga wykorzystywac rózne oprogramowanie
SZBD, - rózne modele danych (relacyjne, sieciowe,
hierarchiczne, obiektowe), - koniecznosc tlumaczenia miedzy protokolami i
jezykami stosowanymi przez rózne SZBD, - odwzorowania struktur danych,
35Funkcje RSZBD
- Rozszerzone uslugi komunikacyjne
- Rozszerzenie katalogu systemowego
- Przetwarzanie rozproszonych zapytan, ich
optymalizacja, dostep do odleglych danych - Rozszerzona ochrona bezpieczenstwa umozliwiajaca
stosowanie metod autoryzacji, nadawanie praw
dostepu do danych rozproszonych - Rozszerzona kontrola wielodostepu - zachowanie
spójnosci danych - Rozszerzone mozliwosci odtwarzania danych po
awarii wezla oraz laczy komunikacyjnych
36Architektura wzorcowa dla RSZBD
37Komponenty rozproszonego RSZBD
38Zarzadzanie transakcjami rozproszonymi
- Problem okreslania poprawnego uporzadkowania
operacji wspólbieznie wykonywanych transakcji
jest rozwiazywany za pomoca metod, które mozemy
podzielic na trzy grupy - metody porzadkowania wedlug etykiet czasowych,
- metody walidacji
- blokowania
- W praktyce, w zdecydowanej wiekszosci
komercyjnych systemów baz danych, w tym w
systemie Oracle, stosowane sa wylacznie metody
blokowania - W czasie szeregowania operacji, realizowanych w
ramach transakcji dotyczacych tych samych danych,
system zarzadzania baza danych wykorzystuje
protokól blokowania dwufazowego (ang. two-phase
locking) - W fazie pierwszej transakcja modyfikujaca dane
uzyskuje wszystkie niezbedne blokady na tych
danych - Blokady te utrzymywane sa przez caly czas trwania
transakcji - Zdejmowane sa dopiero po zakonczeniu transakcji,
czyli w fazie drugiej
39Zarzadzanie transakcjami rozproszonymi
- W systemie Oracle transakcje konczy sie poprzez
jej zatwierdzenie lub wycofanie - Domyslnie, kazda transakcja jest jawnie konczona
przez uzytkownika - Zakonczenie jednej transakcji (zatwierdzenie lub
wycofanie) jest poczatkiem transakcji nastepnej - Transakcje zatwierdza sie poleceniem commit, a
wycofuje poleceniem rollback - Nalezy pamietac, ze w Oracle wszystkie polecenia
grupy DML (np. create table, create view, alter
table, drop synonym) i polecenia grupy DCL (np.
grant, revoke) koncza sie niejawnym poleceniem
commit
40Zarzadzanie transakcjami rozproszonymi
- Dluga transakcje mozna podzielic na mniejsze,
logicznie spójne fragmenty, wprowadzajac w
transakcji tzw. punkty zachowania (ang.
savepoints) - Transakcje taka mozna nastepnie wycofywac do
wskazanego punktu zachowania - Wprowadzenie punktu zachowania realizuje sie
poleceniem - savepoint nazwa_pz
- nazwa_pz - oznacza nadana przez uzytkownika nazwe
punktu zachowania - Wycofanie do wskazanego punktu zachowania
realizuje sie poleceniem - rollback to savepoint nazwa_pz
41Blokowanie danych
- W systemie Oracle wyrózniamy dwa typy blokad
- na rekordzie (ang. rów lock)
- na tabeli (ang. table lock)
- Wprowadzenie blokady na calej tabeli zmniejsza
stopien wspólbieznosci transakcji - Zaletami blokowania calej tabeli sa
- latwosc zarzadzania blokadami
- szybsze wykrywanie konfliktów blokad
42Blokowanie danych
- Dwie blokady sa zgodne (ang. compatible), jezeli
moga byc jednoczesnie zalozone na te same dane
przez wiele róznych transakcji - W przeciwnym razie mówimy o blokadach niezgodnych
- W przypadku gdy jedna transakcja blokuje tabele,
a druga zada blokady niezgodnej z blokada
zalozona wczesniej, wówczas konflikt jest
wykrywany juz na poziomie blokady tabeli - Jezeli na rekordzie tabeli system zalozy blokade,
to zawsze bedzie to blokada wylaczna (ang.
exclusive), oznaczana jako X - Dwie blokady X nie sa zgodne
43Blokowanie danych
- Blokada RX jest zakladana automatycznie w wyniku
wykonania polecen insert, update, delete - Oznacza to, ze niektóre lub wszystkie rekordy tej
tabeli sa wstawiane, modyfikowane lub usuwane - Dwie blokady RX na tej samej tabeli sa zgodne
warunkiem ze kazda z transakcji blokuje inne
rekordy
44Tryby pracy transakcji
- SZBD Oracle umozliwia prace transakcji w trzech
nastepujacych trybach - read-committed
- read-only
- serializable
45Transakcja rozproszona
- Transakcja rozproszona (ang. distributed
transaction) jest to transakcja, której polecenia
DML odwoluja sie do tabel znajdujacych sie co
najmniej w dwóch wezlach rozproszonej bazy danych - Transakcja rozproszona jest reprezentowana przez
zbiór transakcji lokalnych - W kazdej z baz danych, do której odwoluje sie
transakcja rozproszona, tworzona jest jedna
transakcja lokalna
46Wezly uczestniczace w transakcji rozproszonej
- Transakcja rozproszona odwoluje sie do kilku
wezlów rozproszonej bazy danych - Kazdy z tych wezlów pelni scisle okreslona
funkcje - Wyróznia sie nastepujace rodzaje wezlów
- koordynator globalny - KG (ang. global
coordinator) - koordynator lokalny - KL (ang. local coordinator)
- wezel zatwierdzania - WZ (ang. commit point site)
- uczestnik - U (ang. node)
47Graf wywolan transakcji
BANK1
koordynator globalny COMMIT_POINT STRENGTH15
update rachunki...
update rachunki_at_bank2 ....
update rachunki_at_bank3
BANK3
koordynator lokalny COMMIT_POINT_STRENGTH20
BANK2
wezel zatwierdzania COMMIT_POINT_STRENGTH100
insert innsurachunki_at_bank5 ...
delete from rachunki_at_bank4 ...
BANK5
BANK4
uczestnik COMMIT POINT STRENGTH1
uczestnik COMMIT POINT STRENGTH1
48Protokól zatwierdzania dwufazowego 2PC
- Protokól 2PC sklada sie z dwóch glównych faz
- przetwarzania
- jednej fazy koncowej
- W fazie pierwszej nastepuje przygotowanie
transakcji lokalnych do zatwierdzania lub
wycofywania - W fazie drugiej nastepuje zatwierdzanie lub
wycofywanie transakcji lokalnych - W fazie koncowej transakcja rozproszona jest
konczona i usuwana z systemu koordynatora
globalnego
49Faza przygotowania
- Koordynator globalny wybiera wezel zatwierdzania
sposród wszystkich wezlów bioracych udzial w
transakcji rozproszonej - KG wysyla do wszystkich wezlów, z wyjatkiem wezla
zatwierdzania, komunikat prepare, wymuszajacy
przygotowanie sie transakcji lokalnych do
zatwierdzenia - Po zakonczeniu operacji przygotowania do
zatwierdzenia transakcji kazdy wezel przesyla do
koordynatora globalnego komunikat prepared,
jezeli operacje sie powiodly
50Faza przygotowania
- Jezeli transakcja nie moze zostac przygotowana do
zatwierdzenia, wówczas przez SZBD wycofywane sa
wszystkie wprowadzone przez nia zmiany, zwalniane
blokady, a do KG przesylany jest komunikat abort - Jezeli w wezle nie modyfikowano danych, wówczas
wezel przesyla do KG komunikat read-only - Jezeli wezel jest koordynatorem lokalnym, wówczas
po otrzymaniu komunikatu prepare przygotowuje sie
do zatwierdzania i sam rozsyla komunikat prepare
do podleglych mu wezlów
51Faza przygotowania
- Po otrzymaniu komunikatu prepared lub read-only
od wszystkich wezlów mu podleglych, koordynator
lokalny przesyla komunikat prepared do KG - Jezeli choc jeden z wezlów podleglych odpowie
abort, wówczas koordynator lokalny wysyla
komunikat abort do KG - W ostatnim kroku tej fazy koordynator globalny
odbiera komunikaty od wszystkich wezlów, z
wyjatkiem wezla zatwierdzania
52Wymiana komunikatów fazy przygotowania
BANK1
koordynator globalny
1. Wybór WZ
2. prepare
5. prepared
BANK3
koordynator lokalny
BANK2
wezel zatwierdzania
3. prepare
3. prepare
4. prepared
4. prepared
BANK5
BANK4
uczestnik
uczestnik
53Faza zatwierdzania
- Jezeli wszystkie komunikaty, odebrane przez
koordynatora globalnego, to prepar lub read-only,
wówczas faza zatwierdzania (ang. commit phase)
jest realizowana w nastepujacych krokach - Koordynator globalny wysyla do wezla
zatwierdzania komunikat commit, informujacy WZ o
koniecznosci zatwierdzenia transakcji lokalnej w
jego wezle - WZ zatwierdza transakcje, a nastepnie wywoluje
komunikat committed do KG. Biezacy stan
transakcji jest zapamietywany w slowniku bazy
danych WZ - Po otrzymaniu od WZ komunikatu committed KG
przesyla komunikat commit do pozostalych wezlów
54Faza zatwierdzania
- Kazdy z wezlów po zatwierdzeniu swojej transakcji
zapisuje informacje o tej operacji w biezacych
plikach dziennika powtórzen, zwalnia blokady i
odpowiadakomunikatem committed, przesylanym do
KG - Jezeli wezel jest koordynatorem lokalnym wówczas
po otrzymaniu commit sam rozsyla ten komunikat do
podleglych mu wezlów, a nastepnie odbiera od nich
potwierdzenie zatwierdzenia transakcji. Po ich
otrzymaniu KL zatwierdza swoja transakcje lokalna
i przesyla komunikat cormntted do KG - Po odebraniu potwierdzen zatwierdzenia transakcji
od wszystkich wezlów nastepuje przejscie do
ostatniej fazy zatwierdzania
55Wymiana komunikatów fazy zatwierdzania
BANK1
koordynator globalny
1. commit
3. commit
2. committed
6. commmitted
BANK3
koordynator lokalny
BANK2
wezel zatwierdzania
4. commit
4. commit
5. commmitted
5. committed
BANK5
BANK4
uczestnik
uczestnik
56Faza zakonczenia
- Faza zakonczenia (ang.forgetphase)jest
realizowana w nastepujacych krokach - Po odebraniu od wszystkich wezlów komunikatu
committed, koordynator globalny wysyla o tym
informacje do wezla zatwierdzania - WZ usuwa informacje z systemu lokalnego o
zatwierdzonej transakcji. Po jej usunieciu
informuje o tym KG - KG usuwa informacje o transakcji z systemu
lokalnego
57Awarie transakcji rozproszonych - moga powstawac
na skutek
- bledów w oprogramowaniu aplikacyjnym,
- awarii procesów uzytkowników,
- awarii drugoplanowych procesów systemowych
instancji bazy danych, - awarii sieci komputerowej,
- awarii zasilania,
- awarii sprzetu, np. procesora, pamieci
operacyjnej i nosników danych
58Awarie transakcji rozproszonych - moga powstawac
na skutek
- Jezeli awaria któregos z wezlów nastapi w czasie
realizowania transakcji rozproszonej wówczas taka
transakcja bedzie w tzw. stanie zawieszenia do
momentu usuniecia awarii, nawiazania polaczenia
ze zdalnym wezlem i doprowadzenia transakcji do
konca - Transakcje w stanie zawieszenia mozna odtworzyc
na dwa sposoby - automatycznie uruchamiajac dedykowany do tego
celu proces systemowy, - manualnie przeszukujac wezly i zatwierdzajac lub
wycofujac ich lokalne transakcje
59Automatyczne odtwarzanie transakcji
- Odtwarzaniem transakcji zajmuje sie tzw.
drugoplanowy proces odtwarzajacy RECO - jest to
proces instancji bazy danych - Proces RECO bedzie automatycznie odtwarzal
transakcje rozproszone w stanie zawieszenia
jezeli w bazie danych wlaczono odtwarzanie
automatyczne - Realizuje to polecenie
- alter system enable distributed recovery
60Automatyczne odtwarzanie transakcji
update rachunki_at_bank2 ....
uczestnik
wezel zatwierdzania
61Stan wezla w systemie
- wezel zatwierdzania zatwierdzil swoja lokalna
transakcje stan transakcji rozproszonej
przechowywany w WZ okreslony jest jako
zatwierdzona - koordynator globalny odebral potwierdzenie
zatwierdzenia transakcji od WZ - uczestnik odebral komunikat commit od
koordynatora globalnego - po jego odebraniu wezel
ulegl awarii (np. z powodu zaniku napiecia
zasilania) - wezel nie opowiedzial komunikatem
committed
62Stan wezla w systemie
Automatyczne odtwarzanie transakcji - akcje
- RECO okresowo próbuje nawiazywac polaczenie z
wezlem BANK3 - Po ponownym uruchomieniu bazy danych BANK3, baza
ta jest odtwarzana za pomoca standardowych
mechanizmów systemowych -
- Nawiazane zostaje polaczenie miedzy procesem RECO
a baza BANK3 - Korzystajac z informacji o stanie transakcji
rozproszonej, przechowywanej przez wezel
zatwierdzania, tj. transakcji zatwierdzona,
proces RECO powoduje zatwierdzenie lokalnej
transakcji w wezle BANK3.
63Stan wezla w systemie
Manualne odtwarzanie transakcji
- Jezeli w systemie wylaczono automatyczne
odtwarzanie transakcji, wówczas jedynym sposobem
doprowadzenia zawieszonej transakcji do konca
jest interwencja administratora systemu - Musi on przeszukac wezly, stwierdzic, które
transakcje sa w stanie zawieszenia, i zatwierdzic
lub wycofac je za pomoca polecen SQL, zgodnie ze
stanem transakcji rozproszonej przechowywanym w
wezle zatwierdzania
64Stan wezla w systemie
Programowe symulowanie
- Producent SZBD Oracle dostarcza mechanizm
programowego symulowania awarii transakcji
rozproszonych - Awaria wezla zatwierdzania po odebraniu przez
koordynator globalny komunikatów prepared - Awaria wezla uczestnika po odebraniu przez
koordynator globalny komunikatów prepared - Awaria wezla uczestnika przed przygotowaniem sie
do zatwierdzania - Awaria wezla uczestnika po przygotowaniu sie do
zatwierdzania - Awaria wezla zatwierdzania przed zatwierdzeniem
transakcji - Awaria wezla zatwierdzania po zatwierdzeniu
transakcji - Awaria wezla uczestnika przed zatwierdzeniem
transakcji - Awaria wezla uczestnika po zatwierdzeniu
transakcji - Awaria wezla zatwierdzania przed przejsciem do
fazy zakonczenia - Awaria wezla uczestnika przed przejsciem do fazy
zakonczenia
65Hurtownie danych
- Hurtownia danych - zestaw narzedzi pozwalajacych
kierownikom, dyrektorom i analitykom szybciej i
skuteczniej podejmowac decyzje - hurtownia danych zorientowana podmiotowo,
zintegrowana, zróznicowana czasowo i trwala
kolekcja danych przeznaczona do wspomagania
procesu podejmowania decyzji przez kierownictwo - Inmon (1993 r.)
66Korzysci ze stosowania hurtowni danych
- Potencjalnie wysokie dochody z inwestycji
- Przewaga nad konkurencja
- Wieksza wydajnosc korporacyjnych decydentów
67Problemy z hurtowniami danych
- Niedoszacowanie zasobów potrzebnych do
wprowadzania danych - Ukryte problemy z systemami zródlowymi
- Brak wpisów potrzebnych danych
- Rosnace wymagania uzytkowników
- Trudnosci z ujednoliceniem danych
- Wysokie zapotrzebowanie na zasoby
- Wlasnosc danych
- Zlozona pielegnacja systemu
- Dlugoterminowosc projektów
- Zlozonosc integracji
68Architektura scentralizowana
69Architektura federacyjna
70Architektura warstwowa
71Zródlem danych dostarczanych do hurtowni moga byc
- dane komputera centralnego przechowywane w
hierarchicznych i sieciowych bazach danych. - Dane wydzialowe przechowywane w firmowych
systemach plików oraz relacyjnych SZBD - Dane prywatne znajdujace sie na stacjach
roboczych i prywatnych serwerach - Zewnetrzne systemy
- internet
- bazy danych dostepne komercyjnie
- bazy danych powiazane z dostawcami lub klientami
organizacji
72Typowy schemat hurtowni danych
Zródlo danych operacyjnych 1
Narzedzia do tworzenia raportów i zapytan
Zarzadca hurtowni
DOPLYW
Metadane
Mocna skumulowane dane
Lekko skumulowane dane
Szczególowe dane
Narzedzia dostepne dla uzytkowników
Dane archiwalne i kopie zapasowe
Zarzadca wprowadzania danych
Zarzadca zapytan
73Podstawowym zadaniem hurtowni jest zarzadzanie
piecioma glównymi przeplywami danych, a
mianowicie
- doplyw
- wznoszenie sie
- kumulacja
- pakowanie
- dystrybucja
- odplyw
- wyplyw
- udostepnianie
- dostarczanie
- przeplyw metadanych
74Metamodel MDIS (Metadata Interchange
Specification)