Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

CREATE [UNDO] TABLESPACE nazwa przestrzeni tabel DATAFILE nazwa pliku danych rozmiar [instrukcja przechowywania] [BLOCKSIZE rozmiar [K]] [TEMPORARY] [EXTENT.

Podobne prezentacje


Prezentacja na temat: "CREATE [UNDO] TABLESPACE nazwa przestrzeni tabel DATAFILE nazwa pliku danych rozmiar [instrukcja przechowywania] [BLOCKSIZE rozmiar [K]] [TEMPORARY] [EXTENT."— Zapis prezentacji:

1 CREATE [UNDO] TABLESPACE nazwa przestrzeni tabel DATAFILE nazwa pliku danych rozmiar [instrukcja przechowywania] [BLOCKSIZE rozmiar [K]] [TEMPORARY] [EXTENT MANAGEMENT DICTIONARY] [EXTENT MANAGEMENT LOCAL[AUTOALLOCATE]] [EXTENT MANAGEMENT LOCAL[UNIFORM SIZE rozmiar [K/M]]] [SEGMENT SPACE MANAGEMENT AUTO] [SEGMENT SPACE MANAGEMENT MANUAL] Tworzenie przestrzeni tabel

2 UNDO – parametr określa, że tworzona przestrzeń tabel będzie zawierać informacje służące do cofania operacji instrukcja przechowywania - określa nazwę pliku, rozmiar itp. BLOCKSIZE – tworzenie przestrzeni tabel o nie standardowych rozmiarach bloków TEMPORARY – przestrzeń tabel będzie wykorzystywana jako tymczasowa EXTEND MANAGEMENT – określa, czy przestrzeń tabel będzie zarządzana słownikiem danych, czy lokalnie SEGMENT SPACE MANAGEMENT – instrukcja wykorzystywana do ustawienia automatycznego (za pomocą bitmapy) bądź ręcznego (za pomocą listy wolnych bloków) zarządzania wolną przestrzenią w segmentach

3 segmenty, ekstenty i bloki danych blok ekstent segment plik danych

4 Ekstenty Aby system zarządzania bazą danych Oracle osiągał max elastyczność i jednocześnie był jak najbardziej wydajny, konieczne było stworzenie mechanizmu, w którym ciągłe bloki byłyby tworzone i zarządzane razem Ekstent jest zbiorem ciągłych bloków Taki zbiór bloków jest tworzony za każdym razem, kiedy do obiektu wymagana jest dodatkowa przestrzeń Segmenty są po prostu zbiorem ekstentów

5 Istnieje kilka typów segmentów: segment danych – podstawowy typ segmentu, który może być wykorzystywany do przechowywania tabel oraz klastrów segment indeksu – do przechowywania indeksów segment przywracania – przechowywane są informacje służące do wycofywania operacji. Segmenty te zostały zastąpione przestrzeniami tabel cofania segment tymczasowy – do przechowywania danych generowanych podczas działania Oraclea. Mogą być one używane do sortowania i złączeń

6 Globalna przestrzeń systemowa SGA jest obszarem pamięci współużytkowanej wykorzystywanym przez Oraclea do przechowywania informacji kontrolnych instancji Oraclea SGA jest przydzielana podczas uruchamiania instancji i zwalniana podczas jej zatrzymywania Globalna przestrzeń systemowa SGA

7 bufory pamięci podręcznej bazy danych – przechowują ostatnio używane bloki danych bufory dziennika powtórzeń – czyli zmian wprowadzonych do bazy – wykorzystywane do odtwarzania po awarii systemu pula współużytkowania – struktury współużytkowanej pamięci, takie jak współużytkowany obszar SQL, wewnętrzne informacje słownika danych W skład informacji zawartych w SGA wchodzą:

8 Dzięki temu, że pamięć podręczna przechowuje bloki w oparciu o algorytm preferujący ostatnio używane elementy, częściej wykorzystywane bloki pozostają w pamięci, co pozwala na zmniejszenie operacji we/wy i podniesienie wydajności Globalna przestrzeń systemowa SGA

9 Serwer bazy danych składa się z: Plików na dysku zawierających tabele z danymi i inne obiekty bazy danych oraz pomocnicze struktury danych Instancji (jednej lub więcej) - czyli oprogramowania operującego na bazie danych (jest to zbiór procesów i wspólna pamięć umożliwiająca korzystanie użytkownikom z bazy danych) Budowa serwera bazy danych

10 komunikacja między każdą aplikacją użytkownika a bazą danych odbywa się za pośrednictwem tzw procesu usługowego. Jego rolą jest obsługa żądań użytkowników Procesy Oracle komunikacji sieciowej

11 Wykonywanie instrukcji SQL Przechowywanie i organizacja danych Sprawowanie kontroli nad: –spójnością, –zarządzanie dostępem, –transakcje, –konta, –zasoby, –zarządzanie zasobami Zadania serwera bazy danych:

12 Bazy są przewidziane do współbieżnej pracy wielu użytkowników Transakcje to niepodzielne operacje wykonywane przez serwer na zamówienie klienta System pilnuje aby wszystkie operacje zostały prawidłowo wykonane i dopiero gdy wszystko zakończy się sukcesem, wtedy transakcja jest zatwierdzana Gdy którakolwiek z części transakcji się nie powiedzie, wtedy cała transakcja jest anulowana Dostęp do danych poprzez transakcje, blokady, konta Wykorzystanie systemu zarządzania bazą danych dla współbieżnej pracy wielu użytkowników

13 Łączenie się z egzemplarzem bazy danych Aby połączyć się z egzemplarzem bazy danych z poziomu klienta, należy skonfigurować plik tnsnames.ora znajdujący się w katalogu: $ORACLE_HOME/network/adminAby połączyć się z egzemplarzem bazy danych z poziomu klienta, należy skonfigurować plik tnsnames.ora znajdujący się w katalogu: $ORACLE_HOME/network/admin –w edytorze tekstu –za pomocą programu Net Menager ORCL=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP) (HOST= ) (PORT= )) (CONNECT_DATA=(SERVER=DEDOCATED(SERVICE_NAME=orcl))) nazwa lub adres IP serwera Numer portu dla serwera DB Nazwa usługi lub identyfikatorSID

14 SQL*Plus - wersje SQL*Plus uruchamiany z wiersza poleceń systemu UnixSQL*Plus uruchamiany z wiersza poleceń systemu Unix Klient z graficznym interfejsem użytkownika dla SQL*PlusKlient z graficznym interfejsem użytkownika dla SQL*Plus SQL WorksheetSQL Worksheet iSQL*PlusiSQL*Plus

15 SQL*Plus uruchamiany z wiersza poleceń systemu Unix Aby połączyć się z egzemplarzem bazy, należy wpisać w wierszu poleceń sqlplus Lepiej jest łączyć się używając nazwy użytkownika z wraz z nazwą usługi sieciowej sqlplus Instrukcja CONNECT umożliwia nawiązanie nowego połączenia w aktualnej sesji CONNECT np. CONNECT

16 Klient z graficznym interfejsem użytkownika dla SQL*Plus Graficzny interfejs użytkownika programu SQL*Plus nie obejmuje żadnych zaawansowanych funkcji, które nie byłyby dostępne w wersji uruchamianej z wiersza poleceńGraficzny interfejs użytkownika programu SQL*Plus nie obejmuje żadnych zaawansowanych funkcji, które nie byłyby dostępne w wersji uruchamianej z wiersza poleceń Aby uruchomić ten interfejs w systemie Windows należy otworzyć:Aby uruchomić ten interfejs w systemie Windows należy otworzyć:Start/WszystkieProgramy/PodstawowyKatalogOracle/ Application Development i wybrać opcję SQL Plus

17 SQL Worksheet Oferuje funkcje niedostępne z wiersza poleceń oraz przez graficzny interfejs: możliwość przywołania starszych instrukcji z historii i ponownego wczytania ich do bufora w celu ich uruchomieniamożliwość przywołania starszych instrukcji z historii i ponownego wczytania ich do bufora w celu ich uruchomienia wyświetlenie planu wykonania uruchamianych instrukcji SQLwyświetlenie planu wykonania uruchamianych instrukcji SQL Plan wykonania to metoda dostępu wybrana przez Oracle w celu jak najbardziej efektywnego wykonania określonych instrukcji SQL Plan wykonania to metoda dostępu wybrana przez Oracle w celu jak najbardziej efektywnego wykonania określonych instrukcji SQL

18 iSQL*Plus umożliwia wyświetlenie wielobajtowych znaków np. japońskichumożliwia wyświetlenie wielobajtowych znaków np. japońskich Aby zmienić kodowanie czcionek w przeglądarce Internet Explorer, należy wybrać opcjęAby zmienić kodowanie czcionek w przeglądarce Internet Explorer, należy wybrać opcjęWidok/Kodowanie/Unicode(UTF-8) wystarczy zalogować się do iSQK*Plus przy użyciu adresu URL określonego w trakcie tworzenia egzemplarza bazy, a system wyświetli wszystkie czcionki z obsługą UTF-8wystarczy zalogować się do iSQK*Plus przy użyciu adresu URL określonego w trakcie tworzenia egzemplarza bazy, a system wyświetli wszystkie czcionki z obsługą UTF-8

19 Zmienianie ustawień sesji w SQL*Plus W trakcie logowania SQL*Plus uruchamia skrypt glogin.sql z katalogu $ORACLE_HOME/sqlplus/admin, konfiguruje środowisko na potrzeby sesjiW trakcie logowania SQL*Plus uruchamia skrypt glogin.sql z katalogu $ORACLE_HOME/sqlplus/admin, konfiguruje środowisko na potrzeby sesji Możliwa jest zmiana ustawień po zalogowaniu się do SQL*PlusMożliwa jest zmiana ustawień po zalogowaniu się do SQL*Plus Łatwiej jest dodać najczęściej używane opcje do skryptu glogin.sql, aby system ustawił je automatycznieŁatwiej jest dodać najczęściej używane opcje do skryptu glogin.sql, aby system ustawił je automatycznie Niestandardowe ustawienia: SET pages 99 - rozmiar stronySET pages 99 - rozmiar strony SET echo OFFSET echo OFF SET long 6400SET long 6400

20 JDEVELOPER SQL*Plus jest wygodny, ponieważ jest wbudowany w każdą aktualną wersję bazy danych i stanowi podstawowy interfejs serwera bazodanowego Funkcje JDeveloper obejmują: Funkcje JDeveloper obejmują: wyświetlanie w ramkach wszystkich obiektów bazodanowychwyświetlanie w ramkach wszystkich obiektów bazodanowych możliwość edycji kodu PL/SQL bazy danych w JDevelopermożliwość edycji kodu PL/SQL bazy danych w JDeveloper szablony kodu przyspieszające generowanie koduszablony kodu przyspieszające generowanie kodu porady związane z optymalizacją działania SQLporady związane z optymalizacją działania SQL mechanizmy diagnostyczne – przechodzenie przez kodmechanizmy diagnostyczne – przechodzenie przez kod

21 JDEVELOPER Środowisko JDeveloper można pobrać ze strony otn.oracle.com otn.oracle.com Nie ma on instalatora – wszystkie pliki są spakowane w archiwum Zip – proces rozpakowywania powoduje zainstalowanie aplikacjiNie ma on instalatora – wszystkie pliki są spakowane w archiwum Zip – proces rozpakowywania powoduje zainstalowanie aplikacji

22 PAKIETY WBUDOWANE Pakiety udostępniane w Oracle (pakiety wbudowane) dają programistom dostęp do funkcjonalności, która znacznie rozszerza możliwości rozwiązywania złożonych problemów

23 PAKIETY WBUDOWANE UŻYTKOWNIKA SYS Każdy pakiet ma publiczny synonimKażdy pakiet ma publiczny synonim Ten synonim umożliwia wywoływanie danego pakietuTen synonim umożliwia wywoływanie danego pakietu Do utworzenia pakietu służy skrypt catproc.sql, który należy wywołać w czasie tworzenia bazy danychDo utworzenia pakietu służy skrypt catproc.sql, który należy wywołać w czasie tworzenia bazy danych Jeśli korzystamy z asystenta konfiguracji bazy danych skrypt zostanie uruchomiony automatycznieJeśli korzystamy z asystenta konfiguracji bazy danych skrypt zostanie uruchomiony automatycznie Aby używać tych pakietów, trzeba przyznać danemu użytkownikowi uprawnienia EXECUTEAby używać tych pakietów, trzeba przyznać danemu użytkownikowi uprawnienia EXECUTE

24 PAKIETY WBUDOWANE UŻYTKOWNIKA SYS Jedną z najważniejszych funkcjonalności jest możliwość umieszczania w jednej bazie danych bloków o różnych rozmiarachJedną z najważniejszych funkcjonalności jest możliwość umieszczania w jednej bazie danych bloków o różnych rozmiarach Umożliwia to czerpanie korzyści z dużych bloków w systemach wspomagania decyzji oraz z małych bloków w przetwarzaniu transakcji na bieżącoUmożliwia to czerpanie korzyści z dużych bloków w systemach wspomagania decyzji oraz z małych bloków w przetwarzaniu transakcji na bieżąco Żeby korzystać z wielu rozmiarów bloków, trzeba skonfigurować bufor pamięci podręcznej Oraclea tak, żeby był podzielony na różne części w oparciu o rozmiar bloku oraz stworzyć przestrzeń tabel, używając niestandardowych rozmiarów blokówŻeby korzystać z wielu rozmiarów bloków, trzeba skonfigurować bufor pamięci podręcznej Oraclea tak, żeby był podzielony na różne części w oparciu o rozmiar bloku oraz stworzyć przestrzeń tabel, używając niestandardowych rozmiarów bloków

25 Rozproszone bazy danych Rozproszona baza danych - logicznie powiązany zbiór danych (oraz opis tych danych) współużytkowanych przez wiele osób, fizycznie rozproszony w sieci komputerowej. Bazując na tej definicji spróbujmy zdefiniować rozproszony SZBD. Rozproszony SZBD (RSZBD) - oprogramowanie umożliwiające zarządzanie rozproszoną bazą danych oraz sprawiające, że fakt rozproszenia danych jest niewidoczny (przezroczysty) dla użytkownika.

26 Cechy i własności rozproszonego SZBD Zbiór logicznie powiązanych współużytkowanych danych Dane są podzielone na fragmenty (części) Poszczególne fragmenty mogą być powielane Fragmenty są rozmieszczone na różnych komputerach Komputery są połączone za pomocą sieci komunikacyjnej Dane znajdujące się w każdym z węzłów systemu znajdują się pod kontrolą lokalnego SZBD Każdy lokalny SZBD może niezależnie uruchamiać lokalne aplikacje Każdy SZBD jest wykorzystywany w co najmniej jednej aplikacji globalnej

27 Rozproszony system zarządzania bazą danych Sieć komputerowa BD Węzeł 2Węzeł 4 Węzeł 3 Węzeł 1

28 Przetwarzanie rozproszone Sieć komputerowa BD Węzeł 2Węzeł 4 Węzeł 3 Węzeł 1

29 pamięć dzielona Sieć komputerowa procesor pamięć

30 dzielony dostęp do dysku Sieć komputerowa procesor pamięć

31 żaden zasób nie jest współużytkowany Sieć komputerowa procesor pamięć procesor pamięć procesor pamięć

32 Zalety RSZBD Odzwierciedlenie struktury organizacyjnej Większe możliwości współużytkowania danych oraz lokalna autonomia Zwiększenie dostępności danych Większa wiarygodność Większa wydajność systemu Koszty Rozwój modularny

33 Wady RSZBD Złożoność Koszty Trudniejsze zapewnienie bezpieczeństwa Trudniejsza kontrola integralności Brak standardów Brak doświadczeń Bardziej skomplikowane projektowanie bazy danych

34 Homogeniczne i heterogeniczne RSZBD HomogeniczneHomogeniczne – wszystkie węzły wykorzystują tę samą wersję oprogramowania SZBD, –projektowanie i zarządzanie proste, –możliwy przyrostowy rozwój systemu HeterogeniczneHeterogeniczne – węzły mogą wykorzystywać różne oprogramowanie SZBD, –różne modele danych (relacyjne, sieciowe, hierarchiczne, obiektowe), –konieczność tłumaczenia między protokołami i językami stosowanymi przez różne SZBD, –odwzorowania struktur danych,

35 Funkcje RSZBD Rozszerzone usługi komunikacyjne Rozszerzenie katalogu systemowego Przetwarzanie rozproszonych zapytań, ich optymalizacja, dostęp do odległych danych Rozszerzona ochrona bezpieczeństwa umożliwiająca stosowanie metod autoryzacji, nadawanie praw dostępu do danych rozproszonych Rozszerzona kontrola wielodostępu - zachowanie spójności danych Rozszerzone możliwości odtwarzania danych po awarii węzła oraz łączy komunikacyjnych

36 Architektura wzorcowa dla RSZBD Globalny schemat konceptualny Globalny schemat zewnętrzny DB... Globalny schemat zewnętrzny Schemat fragmentacji Schemat alokacji Lokalny schemat odwzorowania Lokalny schemat konceptualny Lokalny schemat wewnętrzny DB Lokalny schemat odwzorowania Lokalny schemat konceptualny Lokalny schemat wewnętrzny DB Lokalny schemat odwzorowania Lokalny schemat konceptualny Lokalny schemat wewnętrzny...

37 Komponenty rozproszonego RSZBD Sieć komputerow a Węzeł 1 Węzeł 3 RSZBD Komponent komunikacyjny Globalny katalog systemowy RSZBD Komponent Lokalny komunikacyjny SZBD DB Globalny katalog systemowy

38 Zarządzanie transakcjami rozproszonymi Problem określania poprawnego uporządkowania operacji współbieżnie wykonywanych transakcji jest rozwiązywany za pomocą metod, które możemy podzielić na trzy grupy: –metody porządkowania według etykiet czasowych, –metody walidacji –blokowania W praktyce, w zdecydowanej większości komercyjnych systemów baz danych, w tym w systemie Oracle, stosowane są wyłącznie metody blokowania W czasie szeregowania operacji, realizowanych w ramach transakcji dotyczących tych samych danych, system zarządzania bazą danych wykorzystuje protokół blokowania dwufazowego (ang. two-phase locking) W fazie pierwszej transakcja modyfikująca dane uzyskuje wszystkie niezbędne blokady na tych danych Blokady te utrzymywane są przez cały czas trwania transakcji Zdejmowane są dopiero po zakończeniu transakcji, czyli w fazie drugiej

39 Zarządzanie transakcjami rozproszonymi W systemie Oracle transakcję kończy się poprzez jej zatwierdzenie lub wycofanie Domyślnie, każda transakcja jest jawnie kończona przez użytkownika Zakończenie jednej transakcji (zatwierdzenie lub wycofanie) jest początkiem transakcji następnej Transakcję zatwierdza się poleceniem commit, a wycofuje poleceniem rollback Należy pamiętać, że w Oracle wszystkie polecenia grupy DML (np. create table, create view, alter table, drop synonym) i polecenia grupy DCL (np. grant, revoke) kończą się niejawnym poleceniem commit

40 Zarządzanie transakcjami rozproszonymi Długą transakcję można podzielić na mniejsze, logicznie spójne fragmenty, wprowadzając w transakcji tzw. punkty zachowania (ang. savepoints) Transakcję taką można następnie wycofywać do wskazanego punktu zachowania Wprowadzenie punktu zachowania realizuje się poleceniem savepoint nazwa_pz; nazwa_pz - oznacza nadaną przez użytkownika nazwę punktu zachowania Wycofanie do wskazanego punktu zachowania realizuje się poleceniem rollback to savepoint nazwa_pz;

41 Blokowanie danych W systemie Oracle wyróżniamy dwa typy blokad: –na rekordzie (ang. rów lock) –na tabeli (ang. table lock) Wprowadzenie blokady na całej tabeli zmniejsza stopień współbieżności transakcji Zaletami blokowania całej tabeli są: –łatwość zarządzania blokadami –szybsze wykrywanie konfliktów blokad

42 Blokowanie danych Dwie blokady są zgodne (ang. compatible), jeżeli mogą być jednocześnie założone na te same dane przez wiele różnych transakcji W przeciwnym razie mówimy o blokadach niezgodnych W przypadku gdy jedna transakcja blokuje tabelę, a druga żąda blokady niezgodnej z blokadą założoną wcześniej, wówczas konflikt jest wykrywany już na poziomie blokady tabeli Jeżeli na rekordzie tabeli system założy blokadę, to zawsze będzie to blokada wyłączna (ang. exclusive), oznaczana jako X Dwie blokady X nie są zgodne

43 Blokowanie danych Blokada RX jest zakładana automatycznie w wyniku wykonania poleceń: insert, update, delete Oznacza to, że niektóre lub wszystkie rekordy tej tabeli są wstawiane, modyfikowane lub usuwane Dwie blokady RX na tej samej tabeli są zgodne warunkiem że każda z transakcji blokuje inne rekordy

44 Tryby pracy transakcji SZBD Oracle umożliwia pracę transakcji w trzech następujących trybach –read-committed –read-only –serializable

45 Transakcja rozproszona Transakcja rozproszona (ang. distributed transaction) jest to transakcja, której polecenia DML odwołują się do tabel znajdujących się co najmniej w dwóch węzłach rozproszonej bazy danych Transakcja rozproszona jest reprezentowana przez zbiór transakcji lokalnych W każdej z baz danych, do której odwołuje się transakcja rozproszona, tworzona jest jedna transakcja lokalna

46 Węzły uczestniczące w transakcji rozproszonej Transakcja rozproszona odwołuje się do kilku węzłów rozproszonej bazy danych Każdy z tych węzłów pełni ściśle określoną funkcję Wyróżnia się następujące rodzaje węzłów: –koordynator globalny - KG (ang. global coordinator) –koordynator lokalny - KL (ang. local coordinator) –węzeł zatwierdzania - WZ (ang. commit point site) –uczestnik - U (ang. node)

47 Graf wywołań transakcji BANK1 koordynator globalny COMMIT_POINT STRENGTH=15 BANK3 BANK2 koordynator lokalny COMMIT_POINT_STRENGTH=20 update update węzeł zatwierdzania COMMIT_POINT_STRENGTH=100 delete from update rachunki... insert BANK5BANK4 uczestnik COMMIT POINT STRENGTH=1 uczestnik COMMIT POINT STRENGTH=1

48 Protokół zatwierdzania dwufazowego 2PC Protokół 2PC składa się z dwóch głównych faz –przetwarzania –jednej fazy końcowej W fazie pierwszej następuje przygotowanie transakcji lokalnych do zatwierdzania lub wycofywania W fazie drugiej następuje zatwierdzanie lub wycofywanie transakcji lokalnych W fazie końcowej transakcja rozproszona jest kończona i usuwana z systemu koordynatora globalnego

49 Faza przygotowania Koordynator globalny wybiera węzeł zatwierdzania spośród wszystkich węzłów biorących udział w transakcji rozproszonej KG wysyła do wszystkich węzłów, z wyjątkiem węzła zatwierdzania, komunikat prepare, wymuszający przygotowanie się transakcji lokalnych do zatwierdzenia Po zakończeniu operacji przygotowania do zatwierdzenia transakcji każdy węzeł przesyła do koordynatora globalnego komunikat prepared, jeżeli operacje się powiodły

50 Faza przygotowania Jeżeli transakcja nie może zostać przygotowana do zatwierdzenia, wówczas przez SZBD wycofywane są wszystkie wprowadzone przez nią zmiany, zwalniane blokady, a do KG przesyłany jest komunikat abort Jeżeli w węźle nie modyfikowano danych, wówczas węzeł przesyła do KG komunikat read-only Jeżeli węzeł jest koordynatorem lokalnym, wówczas po otrzymaniu komunikatu prepare przygotowuje się do zatwierdzania i sam rozsyła komunikat prepare do podległych mu węzłów

51 Faza przygotowania Po otrzymaniu komunikatu prepared lub read-only od wszystkich węzłów mu podległych, koordynator lokalny przesyła komunikat prepared do KG Jeżeli choć jeden z węzłów podległych odpowie abort, wówczas koordynator lokalny wysyła komunikat abort do KG W ostatnim kroku tej fazy koordynator globalny odbiera komunikaty od wszystkich węzłów, z wyjątkiem węzła zatwierdzania

52 Wymiana komunikatów fazy przygotowania BANK1 koordynator globalny BANK3 BANK2 koordynator lokalny 1. Wybór WZ 2. prepare węzeł zatwierdzania BANK5BANK4 uczestnik 5. prepared 3. prepare 4. prepared

53 Faza zatwierdzania Jeżeli wszystkie komunikaty, odebrane przez koordynatora globalnego, to prepar lub read-only, wówczas faza zatwierdzania (ang. commit phase) jest realizowana w następujących krokach: Koordynator globalny wysyła do węzła zatwierdzania komunikat commit, informujący WZ o konieczności zatwierdzenia transakcji lokalnej w jego węźle WZ zatwierdza transakcję, a następnie wywołuje komunikat committed do KG. Bieżący stan transakcji jest zapamiętywany w słowniku bazy danych WZ Po otrzymaniu od WZ komunikatu committed KG przesyła komunikat commit do pozostałych węzłów

54 Faza zatwierdzania Każdy z węzłów po zatwierdzeniu swojej transakcji zapisuje informację o tej operacji w bieżących plikach dziennika powtórzeń, zwalnia blokady i odpowiada komunikatem committed, przesyłanym do KG Jeżeli węzeł jest koordynatorem lokalnym wówczas po otrzymaniu commit sam rozsyła ten komunikat do podległych mu węzłów, a następnie odbiera od nich potwierdzenie zatwierdzenia transakcji. Po ich otrzymaniu KL zatwierdza swoją transakcję lokalną i przesyła komunikat cormntted do KG Po odebraniu potwierdzeń zatwierdzenia transakcji od wszystkich węzłów następuje przejście do ostatniej fazy zatwierdzania

55 Wymiana komunikatów fazy zatwierdzania BANK1 koordynator globalny BANK3 BANK2 koordynator lokalny 1. commit 3. commit węzeł zatwierdzania BANK5BANK4 uczestnik 2. committed 4. commit 5. committed 5. commmitted 6. commmitted

56 Faza zakończenia Faza zakończenia (ang.forgetphase)jest realizowana w następujących krokach: Po odebraniu od wszystkich węzłów komunikatu committed, koordynator globalny wysyła o tym informację do węzła zatwierdzania WZ usuwa informację z systemu lokalnego o zatwierdzonej transakcji. Po jej usunięciu informuje o tym KG KG usuwa informację o transakcji z systemu lokalnego

57 Awarie transakcji rozproszonych - mogą powstawać na skutek: błędów w oprogramowaniu aplikacyjnym,błędów w oprogramowaniu aplikacyjnym, awarii procesów użytkowników,awarii procesów użytkowników, awarii drugoplanowych procesów systemowych instancji bazy danych,awarii drugoplanowych procesów systemowych instancji bazy danych, awarii sieci komputerowej,awarii sieci komputerowej, awarii zasilania,awarii zasilania, awarii sprzętu, np. procesora, pamięci operacyjnej i nośników danychawarii sprzętu, np. procesora, pamięci operacyjnej i nośników danych

58 Awarie transakcji rozproszonych - mogą powstawać na skutek: Jeżeli awaria któregoś z węzłów nastąpi w czasie realizowania transakcji rozproszonej wówczas taka transakcja będzie w tzw. stanie zawieszenia do momentu usunięcia awarii, nawiązania połączenia ze zdalnym węzłem i doprowadzenia transakcji do końcaJeżeli awaria któregoś z węzłów nastąpi w czasie realizowania transakcji rozproszonej wówczas taka transakcja będzie w tzw. stanie zawieszenia do momentu usunięcia awarii, nawiązania połączenia ze zdalnym węzłem i doprowadzenia transakcji do końca Transakcję w stanie zawieszenia można odtworzyć na dwa sposoby:Transakcję w stanie zawieszenia można odtworzyć na dwa sposoby: –automatycznie uruchamiając dedykowany do tego celu proces systemowy, –manualnie przeszukując węzły i zatwierdzając lub wycofując ich lokalne transakcje

59 Automatyczne odtwarzanie transakcji Odtwarzaniem transakcji zajmuje się tzw. drugoplanowy proces odtwarzający RECO - jest to proces instancji bazy danychOdtwarzaniem transakcji zajmuje się tzw. drugoplanowy proces odtwarzający RECO - jest to proces instancji bazy danych Proces RECO będzie automatycznie odtwarzał transakcje rozproszone w stanie zawieszenia jeżeli w bazie danych włączono odtwarzanie automatyczneProces RECO będzie automatycznie odtwarzał transakcje rozproszone w stanie zawieszenia jeżeli w bazie danych włączono odtwarzanie automatyczne Realizuje to polecenie: Realizuje to polecenie: alter system enable distributed recovery;

60 uczestnik węzeł zatwierdzania Automatyczne odtwarzanie transakcji update BANK1 koordynator globalny BANK3 BANK2 update rachunki.... update

61 Stan węzła w systemie węzeł zatwierdzania zatwierdził swoją lokalną transakcję; stan transakcji rozproszonej przechowywany w WZ określony jest jako zatwierdzona koordynator globalny odebrał potwierdzenie zatwierdzenia transakcji od WZ uczestnik odebrał komunikat commit od koordynatora globalnego - po jego odebraniu węzeł uległ awarii (np. z powodu zaniku napięcia zasilania) - węzeł nie opowiedział komunikatem committed

62 Stan węzła w systemie RECO okresowo próbuje nawiązywać połączenie z węzłem BANK3 Po ponownym uruchomieniu bazy danych BANK3, baza ta jest odtwarzana za pomocą standardowych mechanizmów systemowych Nawiązane zostaje połączenie między procesem RECO a bazą BANK3 Korzystając z informacji o stanie transakcji rozproszonej, przechowywanej przez węzeł zatwierdzania, tj. transakcji zatwierdzona, proces RECO powoduje zatwierdzenie lokalnej transakcji w węźle BANK3. Automatyczne odtwarzanie transakcji - akcje

63 Stan węzła w systemie Jeżeli w systemie wyłączono automatyczne odtwarzanie transakcji, wówczas jedynym sposobem doprowadzenia zawieszonej transakcji do końca jest interwencja administratora systemu Musi on przeszukać węzły, stwierdzić, które transakcje są w stanie zawieszenia, i zatwierdzić lub wycofać je za pomocą poleceń SQL, zgodnie ze stanem transakcji rozproszonej przechowywanym w węźle zatwierdzania Manualne odtwarzanie transakcji

64 Stan węzła w systemie Producent SZBD Oracle dostarcza mechanizm programowego symulowania awarii transakcji rozproszonych Awaria węzła zatwierdzania po odebraniu przez koordynator globalny komunikatów prepared Awaria węzła uczestnika po odebraniu przez koordynator globalny komunikatów prepared Awaria węzła uczestnika przed przygotowaniem się do zatwierdzania Awaria węzła uczestnika po przygotowaniu się do zatwierdzania Awaria węzła zatwierdzania przed zatwierdzeniem transakcji Awaria węzła zatwierdzania po zatwierdzeniu transakcji Awaria węzła uczestnika przed zatwierdzeniem transakcji Awaria węzła uczestnika po zatwierdzeniu transakcji Awaria węzła zatwierdzania przed przejściem do fazy zakończenia Awaria węzła uczestnika przed przejściem do fazy zakończenia Programowe symulowanie

65 Hurtownie danych Hurtownia danych - zestaw narzędzi pozwalających kierownikom, dyrektorom i analitykom szybciej i skuteczniej podejmować decyzje hurtownia danych – zorientowana podmiotowo, zintegrowana, zróżnicowana czasowo i trwała kolekcja danych przeznaczona do wspomagania procesu podejmowania decyzji przez kierownictwo Inmon (1993 r.)

66 Korzyści ze stosowania hurtowni danych Potencjalnie wysokie dochody z inwestycji Przewaga nad konkurencją Większa wydajność korporacyjnych decydentów

67 Problemy z hurtowniami danych Niedoszacowanie zasobów potrzebnych do wprowadzania danych Ukryte problemy z systemami źródłowymi Brak wpisów potrzebnych danych Rosnące wymagania użytkowników Trudności z ujednoliceniem danych Wysokie zapotrzebowanie na zasoby Własność danych Złożona pielęgnacja systemu Długoterminowość projektów Złożoność integracji

68 Architektura scentralizowana Centralna hurtownia danych źródło... klienci

69 Architektura federacyjna Wirtualna hurtownia danych źródło... klienci FinanseMarketingDystrybucja

70 Architektura warstwowa Hurtownia danych przedsiębiorstwa Tematyczne hurtownie danych (podsumowania, wybrane dane

71 Źródłem danych dostarczanych do hurtowni mogą być: dane komputera centralnego przechowywane w hierarchicznych i sieciowych bazach danych. Dane wydziałowe przechowywane w firmowych systemach plików oraz relacyjnych SZBD Dane prywatne znajdujące się na stacjach roboczych i prywatnych serwerach Zewnętrzne systemy –internet –bazy danych dostępne komercyjnie –bazy danych powiązane z dostawcami lub klientami organizacji

72 Typowy schemat hurtowni danych Zarządca hurtowni Dane archiwalne i kopie zapasowe Zarządca wprowadzania danych Metadane Szczegółowe dane Lekko skumulowane dane Mocna skumulowane dane Zarządca zapytań Źródło danych operacyjnych 1Narzędzia do tworzenia raportów i zapytań Narzędzia dostępne dla użytkowników DOPŁYW

73 Podstawowym zadaniem hurtowni jest zarządzanie pięcioma głównymi przepływami danych, a mianowicie: dopływ wznoszenie się –kumulacja –pakowanie –dystrybucja odpływ wypływ –udostępnianie –dostarczanie przepływ metadanych

74 Metamodel MDIS (Metadata Interchange Specification) Podschemat RekordWymiar Poziom Relacja Element Baza danych


Pobierz ppt "CREATE [UNDO] TABLESPACE nazwa przestrzeni tabel DATAFILE nazwa pliku danych rozmiar [instrukcja przechowywania] [BLOCKSIZE rozmiar [K]] [TEMPORARY] [EXTENT."

Podobne prezentacje


Reklamy Google