Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

„Relacyjne Bazy Danych (Oracle)”

Podobne prezentacje


Prezentacja na temat: "„Relacyjne Bazy Danych (Oracle)”"— Zapis prezentacji:

1 „Relacyjne Bazy Danych (Oracle)”
Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. „Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych” Prezentacja dystrybuowana jest bezpłatnie 1 Politechnika Łódzka, ul. Żeromskiego 116, Łódź, tel. (042) 1

2 JDBC – Sterownik OCI Z punktu widzenia programu jedyną zmianą jest nowa forma adresu JDBC Z punktu widzenia wirtualnej maszyny Zainstalowany klient Oracle (ORACLE_HOME) Ustawiona zmienna ORACLE_HOME, ORACLE_SID Ustawiona zmienna TNS_ADMIN na katalog ${ORACLE_HOME}/network/admin Ustawiona zmienna LD_LIBRARY_PATH na katalog ${ORACLE_HOME}/jdbc/lib

3 Transakcje Transakcja jest grupą operacji traktowaną jako jedna całość. W bazach danych transakcja składa się zwykle z jednego lub więcej zapytań Transakcja może zostać całkowicie wycofana – wszystkie zmiany, które nastąpiły od początku transakcji muszą także zostać wycofane

4 Transakcje Rozpoczynanie transakcji – BEGIN
Zatwierdzanie transakcji – COMMIT Zapis danych w logach Redo Wycofanie transakcji – ROLLBACK Wykorzystywane są tzw: segmenty Undo – zapisywanie danych zmodyfikowanych przez transakcję, która jeszcze nie została zatwierdzona Dzięki segmentom Undo możliwe jest częściowe wycofanie transakcji „savepoint nazwa_punktu_zapisu” „rollback to nazwa_punktu_zapisu”

5 Transakcje Każda transakcja musi spełniać następujące kryteria (ACID)
Atomiczność (Atomicity) – transakcja wykonuje się w całości lub nie wykonuje się wcale (nie jest odzwierciedlona w danych) Integralność (Consistency) – integralność danych nie może być naruszona (np: zachowanie ograniczeń kluczy obcych) Izolacja (Isolation) – dane zmodyfikowane przez jedną transakcję nie mogą być dostępne dla innej transakcji do czasu jej zatwierdzenia Trwałość (Durability) – zapewnienie, że dane nie zostaną utracone po zatwierdzeniu transakcji

6 Izolacja transakcji Standard ANSI/ISO SQL definiuje cztery podstawowe poziomy izolacji transakcji. W zależności od występowania określonych sytuacji Dirty Read – odczytanie danych, które nie zostały jeszcze zatwierdzone przez inną transakcję Nonrepetable Read (Fuzzy Read) – transakcja odczytuje drugi raz te same dane, I okazuje się że zostały one zmienione Phantom Read – transakcja ponawia zapytanie I okazuje się, że zwraca ono inną liczbę wierszy niż poprzednio

7 Izolacja transakcji Przykład dirty read

8 Izolacja transakcji Przykład non-repetable read

9 Izolacja transakcji Przykład Phantom Read

10 Dostępne poziomy izolacji
Read Uncommited – wszystkie zdarzenia są możliwe Read Commited – możliwe jest wystąpienie Non-repetable read oraz Phantom Read. Repetable Read – możliwe jest jedynie wystąpienie Phantom Read Serializabla – nie może wystąpić żadne ze wspomnianych zdarzeń

11 Blokady Blokady są jednym ze sposobów na zapewnienie współbieżności aktualizowania danych przy jednoczesnym zagwarantowaniu ich integralności Baza danych Oracle zakłada blokady jedynie na poziomie uaktualnianych wierszy, blokady nie ulegają eskalacji na całe tabele jeżeli nie wymaga tego sytuacja

12 Blokady Typy blokad Blokada DML – blokada poszczególnych wierszy lub całych tabel Blokada DDL – blokada definicji obiektu (np. tabeli) – blokada ta jest stosowana do Słownika Danych (Data Dictionary) Blokady wewnętrzne – blokady wewnętrznych struktur danych – np.: blokada pliku przechowującego dane dla przestrzeni tabel

13 Blokady (DML) Blokada na poziomie wierszy (TX)
Może dotyczyć nieograniczonej ilości wierszy Zapewnia następujące możliwości Odczyt nie czeka na zakończenie zapisu Zapis nie czeka na zakończenie odczytu chyba że odczyt zawiera klauzulę FOR UPDATE Zapis oczekuje na zakończenie innego zapisu tylko wtedy gdy dotyczy on tych samych wierszy

14 Blokady (DML) Blokady na poziomie tabel (TM)
Row Share (RS) – blokuje X Row Exclusive (RX) -blokuje S,X,SRX Share (S) – blokuje RX,X,SRX Share Row Exclusive (SRX) – blokuje S, SRX, RX, X Exclusive (X) – blokuje możliwość założenia każdego typu blokady

15 Blokady Blokada zakładana jest automatycznie przy aktualizowaniu danych, można jednak założyć ją ręcznie w razie potrzeby „LOCK TABLE tabela IN tryb_blokady MODE” Transakcja zostanie zawieszona do czasu uzyskania blokady Zawieszenie transakcji może zostać pominięte za pomocą dodania klauzuli NOWAIT Blokada będzie utrzymywana do zakończenia transakcji

16 „Relacyjne Bazy Danych (Oracle)”
Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. „Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych” Prezentacja dystrybuowana jest bezpłatnie 16 Politechnika Łódzka, ul. Żeromskiego 116, Łódź, tel. (042) 16


Pobierz ppt "„Relacyjne Bazy Danych (Oracle)”"

Podobne prezentacje


Reklamy Google