wykład 6 struktura oracle, przestrzenie tabel, transakcje

background image

Struktura RDBMS Oracle

Struktura RDBMS Oracle

Instancja

Pliki

bazy

danych

background image

Architektura Oracle

Architektura Oracle

Baza danych odnosi się do fizycznego

składowania informacji, jest bytem fizycznym –

składa się ze plików zapisanych na dyskach

Instancja odnosi się do oprogramowania

działającego na serwerze, zapewniającego dostęp

do informacji w bazie danych, jest bytem

logicznym – składa się ze struktur

w pamięci i procesów na serwerze

background image

W pliku kontrolnym zawarte są informacje

W pliku kontrolnym zawarte są informacje

dotyczące położenia innych plików fizycznych

dotyczące położenia innych plików fizycznych

tworzących bazę danych – plików danych i plików

tworzących bazę danych – plików danych i plików

dziennika powtórzeń oraz kluczowe informacje

dziennika powtórzeń oraz kluczowe informacje

dotyczące treści i statusu bazy danych:

dotyczące treści i statusu bazy danych:

nazwa bazy danych i czas jej utworzenia

nazwa bazy danych i czas jej utworzenia

nazwy i położenie plików danych i plików dziennika

nazwy i położenie plików danych i plików dziennika

powtórzeń

powtórzeń

informacje o przestrzeniach tabel

informacje o przestrzeniach tabel

historia dziennika, archiwalne informacje dziennika

historia dziennika, archiwalne informacje dziennika

informacje o zestawie kopii zapasowych

informacje o zestawie kopii zapasowych

informacje o kopiach plików danych

informacje o kopiach plików danych

informacje o punktach kontrolnych

informacje o punktach kontrolnych

Struktura fizyczna

Struktura fizyczna

background image

Inicjowanie bazy danych – odczytanie parametrów

Inicjowanie bazy danych – odczytanie parametrów

inicjacyjnych (sposób wykorzystania infrastruktury

inicjacyjnych (sposób wykorzystania infrastruktury

fizycznej)

fizycznej)

Inicjowanie bazy danych

Inicjowanie bazy danych

Parametry uruchomieniowe przechowuje się w

pliku parametrów inicjowania instancji

INIT.ORA

a od wersji Oracle9i w repozytorium

noszącym nazwę pliku parametrów serwera

SPFILE

W pakiecie Oracle znajduje się przykładowy

plik inicjacji, a także asystent konfiguracji

background image

CONTROL_FILES – położenie pliku kontrolnego

CONTROL_FILES – położenie pliku kontrolnego

DB_NAME – nazwa bazy danych

DB_NAME – nazwa bazy danych

Zbiór parametrów

Zbiór parametrów

uruchomieniowych

uruchomieniowych

• Każda baza powinna posiadać minimum

dwa pliki kontrolne na innych dyskach
fizycznych

• Utrata plików kontrolnych nie musi

oznaczać zniszczenia bazy danych –
istnieją metody ich odtwarzania

• W CONTROL_FILES można umieścić kilka

różnych lokalizacji, co spowoduje
automatyczne kopiowanie plików
kontrolnych

background image

Pliki danych

Pliki danych

• każdy plik składa się z bloków bazy danych

Oracle, złożonych z bloków SO na dysku

• rozmiar bloku Oracle waha się od 2KB do 32 KB

(parametr DB_BLOK_SIZE)

• rozmiar bloku to najmniejsza ilość danych, którą

można zapisać lub odczytać

• pierwszy blok każdego pliku danych to nagłówek

pliku danych – zawiera on najważniejsze
informacje, konieczne do utrzymania spójności
bazy danych

background image

Pliki danych

Pliki danych

• najważniejszy element nagłówka to struktura punktu

kontrolnego – logiczny znacznik czasu, wskazujący
moment zapisania ostatniej zmiany w pliku danych

• Ma on kluczowe znaczenie w procesie odtwarzania bazy

danych, ponieważ określa, z których dzienników
powtórzeń należy skorzystać przy doprowadzeniu pliku
danych do stanu sprzed awarii

• Z punktu widzenia warstwy fizycznej, plik danych jest

składowany jako zbiór bloków systemu operacyjnego

• Z punktu widzenia warstwy logicznej pliki danych

posiadają trzy pośrednie poziomy organizacji:

• bloki danych
• ekstenty
• segmenty

background image

segmenty, ekstenty i bloki danych

blok
danych

ekstent

segment to obiekt taki jak tabela, czy
indeks złożony z jednego lub wielu
ekstentów

plik
danyc
h

background image

segmenty, ekstenty i bloki danych

blok systemu operacyjnego

bloki Oracle

background image

Pliki dziennika powtórzeń

Pliki dziennika powtórzeń

 zawierają nagranie zmian dokonanych w bazie, będących

efektem transakcji i wewnętrznych operacji Oracle

 Zapisanie zmian w dzienniku transakcji pozwala

odtworzyć zmiany utracone na skutek awarii,
zabezpieczając dzięki temu spójność transakcji

 Każda z instancji Oracle używa wątku powtórzeń w celu

zapisania zmian dokonywanych w bazie

 Oracle utrzymuje wiele kopii plików dziennika powtórzeń,

dokonuje i dokonuje zapisu do wszystkich elementów
dziennika powtórzeń synchronicznie

 Po zapełnieniu jednego pliku dziennika powtórzeń,

automatycznie rozpoczyna korzystanie z następnego

background image

• Instancja jest metodą wykorzystywaną do dostępu

do danych składającą się z procesów i pamięci

współdzielonej

• Instancja (suma buforów pod wspólną nazwą

Globalna przestrzeń systemowa SGA) – obszar

pamięci współużytkowanej wykorzystywany przez

Oracle’a do przechowywania informacji kontrolnych

instancji Oracle’a

• SGA jest przydzielana podczas uruchamiania

instancji i zwalniana podczas jej zatrzymywania

Globalna przestrzeń systemowa SGA

Globalna przestrzeń systemowa SGA

background image

• bufory pamięci podręcznej bazy danych

– przechowują

ostatnio używane bloki danych. Gdy użytkownik chce

uzyskać dostęp do bloku danych, który nie znajduje

się w pamięci podręcznej, blok ten musi zostać

wczytany z dysku i w niej zapisany

• bufory dziennika powtórzeń

– czyli zmian

wprowadzonych do bazy – wykorzystywane do

odtwarzania po awarii systemu

• pula współużytkowania

– buforowane są różnego

rodzaju obiekty, którymi mogą się dzielić użytkownicy

np. zapytania i fragmenty zapytań SQL oraz ich

wyniki, informacje ze słownika danych

• Oracle automatycznie zarządza pamięcią alokowaną w

globalnym obszarze programu (Program Global Area)

instancji

W skład informacji zawartych w SGA

wchodzą:

background image

DBWR

DBWR

Data Base WRiter

Data Base WRiter

– zapisuje bloki bazy danych z

– zapisuje bloki bazy danych z

pamięci podręcznej bufora SGA do plików dyskowych

pamięci podręcznej bufora SGA do plików dyskowych

LGWR

LGWR

– LoG WRiter – przechowuje informacje o

– LoG WRiter – przechowuje informacje o

powtórzeniach z bufora dziennika w SGA do wszystkich

powtórzeniach z bufora dziennika w SGA do wszystkich

kopii bieżącego pliku dziennika powtórzeń na dysku

kopii bieżącego pliku dziennika powtórzeń na dysku

PMON

PMON

Process MONitor –

Process MONitor –

monitoruje procesy oraz

monitoruje procesy oraz

zarządza zasobami bazy

zarządza zasobami bazy

SMON

SMON

System MONitor

System MONitor

– monitoruje system

– monitoruje system

zarządzający pamięcią SGA

zarządzający pamięcią SGA

ARCn

ARCn

– Archiver – odczytuje pliki dziennika powtórzeń po

– Archiver – odczytuje pliki dziennika powtórzeń po

ich zapełnieniu przez Oracle i zapisuje ich kopie

ich zapełnieniu przez Oracle i zapisuje ich kopie

Podstawowymi procesami drugoplanowymi

Podstawowymi procesami drugoplanowymi

wymaganymi przez bazę danych są:

wymaganymi przez bazę danych są:

background image

• Przestrzeń tabel SYSTEM zawsze zawiera tabele słownika

danych

• Tabele słownika danych poprzedzone przedrostkiem V$ i

GV$ to tabele dynamiczne, nieprzerwanie aktualizowane,
by odzwierciedlać bieżący stan bazy danych Oracle

• Statyczne tabele słownika danych mogą mieć przedrostki:

– DBA_
– ALL_
– USER_

Słownik danych

background image

Przestrzenie tabel

Przestrzenie tabel

Wszystkie dane składowane w bazie danych

Wszystkie dane składowane w bazie danych

Oracle muszą znajdować sie w przestrzeni tabel

Oracle muszą znajdować sie w przestrzeni tabel

Przestrzeń tabel jest strukturą logiczną – składa

Przestrzeń tabel jest strukturą logiczną – składa

się z plików danych

się z plików danych

Każda przestrzeń tabel musi zawierać co

Każda przestrzeń tabel musi zawierać co

najmniej jeden plik danych

najmniej jeden plik danych

Każdy plik może przynależeć tylko do jednej

Każdy plik może przynależeć tylko do jednej

przestrzeni tabel

przestrzeni tabel

Baza danych może składać się z najwyżej 64

Baza danych może składać się z najwyżej 64

tysięcy plików danych

tysięcy plików danych

background image

przestrzenie tabel

przestrzenie tabel i

pliki danych

pliki danych

przestrzeń
tabel
narzędzi

przestrzeń
tabel
użytkownik
a

pliki
danych

pliki
danych

pliki
danych

pliki
danych

pliki
danych

pliki
danych

background image

Indeks

Indeks

Plik danych nr 1

Plik danych nr 2

Przestrzeń tabel nr 1

Plik danych nr 3

Indeks

Przestrzeń tabel nr

2

zależności pomiędzy przestrzenią

zależności pomiędzy przestrzenią

tabel a plikami danych

tabel a plikami danych

Tablica

Tablica

Tablica

background image

CREATE [UNDO] TABLESPACE nazwa przestrzeni

CREATE [UNDO] TABLESPACE nazwa przestrzeni

tabel

tabel

DATAFILE nazwa pliku danych rozmiar

DATAFILE nazwa pliku danych rozmiar

[instrukcja przechowywania]

[instrukcja przechowywania]

[BLOCKSIZE rozmiar [K]]

[BLOCKSIZE rozmiar [K]]

[TEMPORARY]

[TEMPORARY]

[EXTENT MANAGEMENT DICTIONARY]

[EXTENT MANAGEMENT DICTIONARY]

[EXTENT MANAGEMENT LOCAL[AUTOALLOCATE]]

[EXTENT MANAGEMENT LOCAL[AUTOALLOCATE]]

[EXTENT MANAGEMENT LOCAL[UNIFORM SIZE

[EXTENT MANAGEMENT LOCAL[UNIFORM SIZE

rozmiar [K/M]]]

rozmiar [K/M]]]

[SEGMENT SPACE MANAGEMENT AUTO]

[SEGMENT SPACE MANAGEMENT AUTO]

[SEGMENT SPACE MANAGEMENT MANUAL]

[SEGMENT SPACE MANAGEMENT MANUAL]

Tworzenie przestrzeni tabel

Tworzenie przestrzeni tabel

background image

Tworzenie przestrzeni tabel

Tworzenie przestrzeni tabel

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

background image

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 (cofania operacji)

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
Oracle’a - mogą być one używane do
sortowania i złączeń

przestrzeń tabel może

przestrzeń tabel może

zawierać:

zawierać:

background image

• Transakcja – jednostka interakcji użytkownika z

bazą danych (szereg podstawowych poleceń

języka SQL realizowanych w bazie danych)

Własności transakcji

atomowość

– określa regułę

wszystko albo nic

zbiór

operacji składowych transakcji musi być wykonany w

całości albo nie wykonany wcale

spójność

– transakcja powinna przekształcić system z

jednego stanu spójnego w inny spójny stan

izolacja

– transakcja powinna być wykonywana

niezależnie od innych działających współbieżnie transakcji,

przetwarzanych w tym samym środowisku. Skutki

współbieżnego wykonania transakcji powinny być takie

same, jak wówczas gdyby wykonywano je w sposób

szeregowy

trwałość –

wyniki działania zatwierdzonych transakcji

powinny być zachowane w pamięci trwałej

Zarządzanie transakcjami rozproszonymi

Zarządzanie transakcjami rozproszonymi

background image

Kończenie transakcji

Wszystkie transakcje kończą się na jeden z dwóch

sposobów:

sukcesem

oznaczającym trwałe wprowadzenie wszystkich

modyfikacji do bazy danych

porażką

, oznaczającą odwołanie transakcji i odtworzenie

stanu bazy sprzed jej rozpoczęcia transakcji

Z definicji, transakcja zakończona sukcesem nie

może zostać odwołana

System zarządzania zapisuje wszystkie

podejmowane przez transakcję czynności w

rejestrze transakcji - aby móc ją odwołać

background image

Zakończenie transakcji

Status zakończenia:

Status zakończenia:

– zatwierdzenie,
– wycofanie.

Zakończenie jawne:

Zakończenie jawne:

– wykonanie poleceń kończących transakcję:

COMMIT

(zatwierdzenie) lub ROLLBACK (wycofanie).

Zakończenie niejawne:

Zakończenie niejawne:

– zakończenie sesji – zatwierdzenie,
– wykonanie operacji DDL lub DCL – zatwierdzenie,
– awaria – wycofanie.

background image

Polecenie:

• zwolnienie założonych blokad,
• usunięcie punktów bezpieczeństwa,
• sprawdzenie odroczonych ograniczeń

integralnościowych,

• trwały zapis zmian, wprowadzonych

przez operacje w ramach transakcji,

• zmiany, wprowadzone przez transakcję,

są widoczne dla innych transakcji.

Zarządzanie transakcjami

Zarządzanie transakcjami

COMMIT

background image

Polecenie:

– odtwarza stan bazy danych i

przywraca jej status do stanu po
ostatniej operacji COMMIT

– zmiany wprowadzone do bazy

danych po ostatniej operacji COMMIT
są odwracane

Zarządzanie transakcjami

Zarządzanie transakcjami

ROLLBACK

background image

Zarządzanie transakcjami

rozproszonymi

• 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

• Wszystkie polecenia grupy DDL (np. create table,

create view, alter table, drop synonym) i

polecenia grupy DCL (np. grant, revoke) kończą

się niejawnym poleceniem commit

background image

Zarządzanie transakcjami

rozproszonymi

• Długą transakcję można podzielić na

mniejsze, logicznie spójne fragmenty,

wprowadzając w transakcji tzw. punkty

zachowania (savepoints)

• Transakcję taką można wycofywać do

wskazanego punktu zachowania

background image

Punkty bezpieczeństwa

transakcji

Wprowadzenie punktu zachowania

realizuje się poleceniem

savepoint

savepoint

nazwa_punktu_zachowania;

nazwa_punktu_zachowania;

background image

• transakcja pozostaje aktywna,
• zmiany, wprowadzone przez operacje,

zrealizowane między punktem bezpieczeństwa
a poleceniem ROLLBACK są anulowane,

• punkty bezpieczeństwa, ustawione pomiędzy

punktem wskazanym a poleceniem ROLLBACK,
zostają usunięte.

Punkty bezpieczeństwa transakcji

Punkty bezpieczeństwa transakcji

background image

Punkty bezpieczeństwa

transakcji

INSERT INTO...
SAVEPOINT S1;
DELETE...
SAVEPOINT S2;
UPDATE...
ROLLBACK;

INSERT INTO...
SAVEPOINT S1;
DELETE...
SAVEPOINT S2;
UPDATE...
ROLLBACK TO S1;

INSERT INTO...
SAVEPOINT S1;
DELETE...
SAVEPOINT S2;
UPDATE...
ROLLBACK TO S2;

I

II

III

background image

Punkty bezpieczeństwa

transakcji

Usunięcie punktu bezpieczeństwa

Wycofanie do wskazanego punktu

zachowania

RELEASE SAVEPOINT

RELEASE SAVEPOINT

nazwa_punktu_zachowania

nazwa_punktu_zachowania

;

;

ROLLBACK

ROLLBACK

to savepoint

to savepoint

nazwa_punktu_zachowania

nazwa_punktu_zachowania

;

;


Document Outline


Wyszukiwarka

Podobne podstrony:
wykład 7 struktura kryształów
Podstawy Informatyki Wykład V Struktury systemów komputerowych
C Wyklady, Struktury
Wykład 6 STRUKTURA ORGANIZACYJNA
Wykład 4. Struktura organizacji, zarządzanie WSFiZ(1)
Wykład STRUKTURY RYNKU I ICH CHARAKTERYSTYKA
Wykład 5 4 struktury filtrów
M Jastrzębska Krótka char zjawiska nief struktur podkultury przestępczej s159 172
wykład 5 Struktury organizacyjne wykład 5 11 2013
Wykładniki struktury TR w JM
SPIS WYKŁADÓW, Studia - Gospodarka przestrzenna, Fizyka
wykład 2 Struktura, funkcje i właściwości mięśni szkieletowych
prezentacje, zarzadzanie - wyklad 7, STRUKTURY ORGANIZACYJNE
wykład-kartodiagram, Gospodarka Przestrzenna, GP semestr II, Kartografia
SIP WYKład, Systemy informacji przestrzennej (SIP)
GN calosc wyklady, Studia - Gospodarka Przestrzenna, Licencjat, Gospodarka Nieruchomościami
Marketing terytorialny (wykłady) - notatki, Gospodarka przestrzenna - notatki, Marketing terytorialn
Gospodarka przestrzenna - materiały pomocnicze do wykładów, Polibuda, Gospodarka przestrzenna

więcej podobnych podstron