Title:
1Relacyjne Bazy Danych (Oracle) Prezentacja
jest wspólfinansowana przez Unie Europejska w
ramach Europejskiego Funduszu Spolecznego w
projekcie pt. Innowacyjna dydaktyka bez
ograniczen - zintegrowany rozwój Politechniki
Lódzkiej - zarzadzanie Uczelnia, nowoczesna
oferta edukacyjna i wzmacniania zdolnosci do
zatrudniania osób niepelnosprawnych Prezentacja
dystrybuowana jest bezplatnie
Politechnika Lódzka, ul. Zeromskiego 116, 90-924
Lódz, tel. (042) 631 28 83 www.kapitalludzki.p.lod
z.pl
2Instancja Oracle
- Baza danych zestaw plików w pamieci masowej
komputera odpowiedzialnych za dzialanie bazy
lokalizacja - ORACLE_HOME - Instancja bazy danych zestaw procesów
systemowych oraz struktur w pamieci operacyjnej
komputera - Oracle uruchamia od kilku do kilkunastu procesów
- Oracle alokuje pamiec zadeklarowana w konfiguracji
3Pliki bazy danych
- Pliki danych znajduja sie w innym katalogu niz
zainstalowane pliki bazy danych - Zainstalowana baza znajduje sie w ORACLE_HOME,
pliki z danymi domyslnie kilka katalogów wyzej,
sciezka okreslana jako ORACLE_BASE - np /home/oracle/app/oracle/oradata
4Parametry bazy danych
- Oracle udostepnia dwie mozliwosci przechowywania
parametrów konfiguracyjnych - PFILE parametry przechowywane sa w pliku
tekstowym - SPFILE plik binarny zarzadzany z poziomu
serwera, nie ma mozliwosci latwej edycji z
poziomu systemu operacyjnego - Oracle 11g domyslnie uzywa SPFILE w lokalizacji
ORACLE_HOME/dbs/spfile.ora
5PFILE i SPFILE
- PFILE mozna skonwertowac do SPFILE i na odwrót
- CREATE pfile FROM spfile
- CREATE pfile'nazwa_pfile' FROM
spfile'nazwa_spfile' - Operacje konwertowania pozwalaja na edycje
parametrów SPFILE poprzez konwersje do PFILE w
przypadku zlej kombinacji parametrów w SPFILE nie
pozwalajacej na uruchomienie bazy
6Parametry bazy danych
- Jezeli uzytkownik ma odpowiednie uprawnienia moze
sprawdzic wartosci parametrów bazy danych
kwerenda - select from vparameter
- Uproszczony format
- select name,value from vparameter where
name'spfile' - W sqlplus mozna korzystac z polecenia
- show parameter nazwa
7Parametry bazy danych
- Przy korzystaniu z SPFILE mozna zmieniac wartosci
niektórych parametrów bez koniecznosci restartu
bazy - ALTER SYSTEM SET open_cursors2000 SCOPEBOTH
- Mozliwe wartosci parametru SCOPE
- MEMORY tylko dla obecnej instancji
- SPFILE w pliku SPFILE, stan bazy pozostaje bez
zmian - BOTH zarówno w pamieci jak i w SPFILE
8Podzial pamieci
- Oracle definiuje kilka segmentów pamieci do
wykorzystania przez baze - SGA System Global Area segment przeznaczony
na dane dotyczace danej instancji bazy danych. - PGA Program Global Area segment pamieci
niewspóldzielonej, dla kazdego polaczenia
alokowany jest nowy segment PGA. Segment posiada
górna granice suma pamieci wykorzystanej przez
wszystkie PGA nie moze jej przekroczyc
9SGA
- SGA jest segmentem pamieci wspóldzielonej
przydzielonym dla jednej instancji Oracle - Z tego segmentu korzysta wiekszosc procesów
Oracle - Segment SGA jest dodatkowo podzielony na mniejsze
segmenty
10SGA
- Czesc zawartosci SGA
- Bufory pamieci podrecznej BUFFER CACHE
(parametr db_cache_size)? - Przestrzen wspóldzielona SHARED POOL (parametr
shared_pool_size)? - Bufor logów wycofan REDO LOG BUFFER (parametr
log_buffer)? - Obecne parametry mozna wyswietlic komenda show
sga w sqlplus, dokladniejsze informacje show
parameter target
11SGA
- Od wersji 10g Oracle stara sie automatycznie
zarzadzac pamiecia SGA mozliwosc recznej
konfiguracji dalej istnieje - Za zarzadzanie wielkoscia komponentów SGA
odpowiedzialna jest funkcja AMM (Automatic Memory
Management)? - W Oracle 11 dzieki AMM mozna zarzadzac cala
pamiecia (SGAPGA) przy wykorzystaniu jednego
parametru MEMORY_TARGET, parametr ten moze byc
zmieniany dynamicznie, pomocnym parametrem jest
takze MEMORY_MAX_TARGET
12Buffer Cache
- Bufor pamieci podrecznej zwykle najwieksza
czesc SGA przechowuje dane z bazy danych w
pamieci ulotnej systemu, aby poprawic czas
dostepu - W przypadku zadania dostepu do danych baza
sprawdzi najpierw czy dane nie sa obecne w
buforze podrecznym
13Shared Pool
- Segment pamieci wykorzystywany do przechowywania
struktur obiektów w bazie - Dane kazdego obiektu (metadane) w bazie danych
przechowywane sa w tabelach systemowych - Przechowywanie tych danych w pamieci pozwala na
uzyskanie szybszego dostepu do danych z tabel
nie ma koniecznosci odczytywania metadanych z
dysku
14Redo Log Buffer
- Bufor wycofan sluzy do przechowywania informacji
na temat wykonanych operacji w bazie. - W przypadku potwierdzenia wykonania transakcji
(sekwencji zapytan). Potwierdzenie nie pojawi sie
do momentu zapisu danych w dzienniku - W przypadku awarii bazy dane zapisane w logach
redo moga byc wykorzystane do odtworzenia
ostatnich operacji
15Dostosowanie MEMORY_MAX_TARGET
- Aby dostosowac maksymalna pamiec wykorzystywana
przez serwer bazy danych Oracle mozna skorzystac
z kwerendy - ALTER SYSTEM SET MEMORY_MAX_TARGET iloscM SCOPE
SPFILE - Parametr MEMORY_MAX_TARGET nie jest dynamiczny
16Dostosowanie MEMORY_TARGET
- Sekwencja polecen
- ALTER SYSTEM SET MEMORY_TARGET iloscM
- ALTER SYSTEM SET SGA_TARGET 0
- ALTER SYSTEM SET PGA_AGGREGATE_TARGET 0
17Przykladowy schemat
- Po instalacji Oracle automatycznie zostaje
utworzony schemat uzytkownika scott zawierajacy
kilka przykladowych tabel wypelnionych danymi - Haslo uzytkownika scott tiger
- Domyslnie uzytkownik jest zablokowany
- ALTER USER scott ACCOUNT UNLOCK
- Uzytkownik scott musi zmienic haslo przy
pierwszym zalogowaniu
18Przykladowy schemat
- Dostepne tabele
- SQLgt select table_name from user_tables
- TABLE_NAME
- ------------------------------
- DEPT
- EMP
- BONUS
- SALGRADE
19Typy danych
- Typy znakowe
- CHAR (12000)?
- VARCHAR/VARCHAR2 (14000)?
- NCHAR/NVARCHAR2 (np UTF8, 12000/14000
bajtów)? - CLOB/NCLOB (do 8 TB danych)?
- LONG (nie uzywany, do 2GB danych)?
20Typy danych
- Typy numeryczne
- NUMBER typ stalo, lub zmiennoprzeinkowy,
teoretycznie dowolnie duza liczba, dlugosc jest
zmienna, mozna ograniczyc precyzje oraz skale - kolumna NUMBER (prezycja,skala)?
- BINARY_FLOAT liczba 32 bitowa, pojedyncza
precyzja, 5 bajtów (1 na dlugosc)? - BINARY_DOUBLE liczba 64 bitowa, podwójna
precyzja, 9 bajtów (1 na dlugosc)?
21Typy danych
- Data/Czas
- DATE przechowuje zarówno date jak i czas
- Domyslny format DD-MON-YY
- Format mozna zmienic korzystajac z parametru
NLS_DATE_FORMAT - Wbudowana funkcja TO_DATE pozwala przypisac date
w innym formacie niz standardowy - TO_DATE('MAR 7 2009','MON DD YYYY')?
- Kolumna typu DATE bierze pod uwage anomalie
wystepujace w kalendarzu (np przerwa 10 dni po 4
pazdziernika 1582)?
22Typy danych
- Data/Czas
- TIMESTAMP
- TIMESTAMP WITH TIME ZONE
- TIMESTAMP WITH LOCAL TIME ZONE
- Typy TIMESTAMP pozwalaja przetrzymywac ulamkowe
czesci sekund wartosc konfigurowalna od 0 do 9,
domyslnie 6 - TIMESTAMP (9) WITH TIME ZONE
23Typy danych
- Duze obiekty LOB (Large Object)?
- BLOB (232 -1 bloków (CHUNKS)) rozmiar bloku
konfigurowalny (teoretycznie max 128 TB)? - Oracle 11g wprowadzilo nowy format - SECUREFILE
- CLOB (232 -1 bloków)?
- NCLOB (232 -1 bloków)?
- BFILE dane w pliku binarnym znajdujacym sie w
przestrzeni uzytkownika 232-1 bajtów, w Oracle
11g 264 -1 bajtów - Typ tylko do odczytu
- Duze obiekty umozliwiaja dostep losowy do danych
24Typy danych
- Typy specyficzne dla bazy danych Oracle
- ROWID (restricted)
- Format BBBBBBB.RRRR.FFFFF (B numer bloku, R
wiersz w bloku, F plik bazy danych)? - ROWID (Extended)?
- Format OOOOOOFFFBBBBBBRRR (O- numer segmentu)?
- UROWID (Universal ROWID) jednoczesne
przechowanie logicznego i fizycznego ROWID - ROWID to najszybszy sposób na uzyskanie dostepu
do danych wymagany jest jeden odczyt
25Relacyjne Bazy Danych (Oracle) Prezentacja
jest wspólfinansowana przez Unie Europejska w
ramach Europejskiego Funduszu Spolecznego w
projekcie pt. Innowacyjna dydaktyka bez
ograniczen - zintegrowany rozwój Politechniki
Lódzkiej - zarzadzanie Uczelnia, nowoczesna
oferta edukacyjna i wzmacniania zdolnosci do
zatrudniania osób niepelnosprawnych Prezentacja
dystrybuowana jest bezplatnie
Politechnika Lódzka, ul. Zeromskiego 116, 90-924
Lódz, tel. (042) 631 28 83 www.kapitalludzki.p.lod
z.pl