Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
Oracle atwiejszy ni
przypuszczasz. Wydanie III
Autor: Jadwiga Gnybek
ISBN: 83-246-0116-3
Format: B5, stron: 230
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Nazw Oracle znaj chyba wszyscy uytkownicy baz danych. Wikszoci kojarzy si
ona z potnym systemem, o legendarnej prawie stabilnoci i wydajnoci, a przede
wszystkim z ogromn iloci polece, plikw konfiguracyjnych i wiadomoci, jakie
naley posi, by mc wykorzysta moliwoci tej bazy danych. Tymczasem wiedza
niezbdna do komfortowej pracy z serwerem Oracle nie jest wiedz tajemn dostpn
jedynie dla komputerowych guru. Rosnca popularno Oraclea powoduje, e jego
znajomo staje si sporym atutem na rynku pracy. Warto wic powici troch czasu
na opanowanie go.
Ksika Oracle atwiejszy ni przypuszczasz. Wydanie III to zbir podstawowych
wiadomoci niezbdnych do rozpoczcia pracy z t baz danych. Przedstawia
architektur serwera Oracle oraz jego najwaniejsze procesy. Opisuje struktur tabel
i sposoby ich tworzenia, perspektywy, indeksy, schematy i inne obiekty znajdujce si
w przestrzeni tabel Oraclea. Czytajc t ksik, nauczysz si uruchamia
i zatrzymywa baz, administrowa danymi i kontami uytkownikw, tworzy kopie
zapasowe i odtwarza z nich dane. Poznasz rwnie narzdzia SQL*Plus, Enterprise
Manager 10g oraz Database Configuration Assistant. Dowiesz si take, czym jest
architektura Grid oraz zainstalujesz Oracle Application Server 10g.
Architektura serwera Oracle oraz instancje
Procesy serwera bazy danych
Struktura przestrzeni tabel
Schematy, tabele, perspektywy i indeksy
Uruchamianie i zatrzymywanie bazy
Operacje na transakcjach
Tworzenie kopii zapasowych
Narzdzia administracyjne Oraclea
Architektura Grid Computing
Docz do grona uytkownikw bazy danych Oracle
Spis treci
Wstp .............................................................................................. 7
Rozdzia 1. Architektura serwera bazy danych Oracle .......................................... 9
Co to jest serwer Oracle? .................................................................................................. 9
Serwer Oracle ........................................................................................................... 11
Struktura bazy danych .............................................................................................. 12
Narzdzia bazodanowe ............................................................................................. 13
Struktura plikw serwera Oracle .................................................................................... 13
Instancja Oracle .............................................................................................................. 14
Co to jest instancja Oracle? ...................................................................................... 14
Do czego suy instancja Oracle? ............................................................................. 14
Procesy drugoplanowe ............................................................................................. 15
Struktura bazy danych Oracle ......................................................................................... 16
Pliki bazy danych (Database Files) .......................................................................... 17
Pliki dziennika powtrze (Redo Log Files) ............................................................ 17
Pliki kontrolne (Control Files) ................................................................................. 17
Plik startowy (Parameter Files) ................................................................................ 17
Procesy drugoplanowe ................................................................................................... 17
DBWR (Data Base Writer) ...................................................................................... 18
LGWR (Log Writer) ................................................................................................ 18
PMON (Process Monitor) ........................................................................................ 19
SMON (System Monitor) ......................................................................................... 19
Pozostae procesy drugoplanowe ............................................................................. 20
Struktura obszaru globalnego systemu ........................................................................... 21
Bufory bazy danych (DATABASE BUFFER CACHE) .......................................... 22
Bufory dziennika powtrze (REDO LOG BUFFER) ............................................. 22
Obszar dzielony (SHARED POOL) ......................................................................... 22
Pliki dziennika powtrze (REDO LOG) ....................................................................... 22
Jeszcze raz o strukturze Oracle ....................................................................................... 24
Spis treci
5
Sownik bazy danych (DATA DICTIONARY) ............................................................. 81
Zatwierdzanie i wycofywanie transakcji (COMMIT i ROLLBACK) .............................. 82
Przyczyny wystpowania awarii baz danych .................................................................. 85
Po pierwsze, uytkownik ......................................................................................... 86
Po drugie, awarie sprztu ......................................................................................... 86
Zniszczenie danych przez uytkownika ................................................................... 86
Bd zapytania SQL ................................................................................................. 87
Awaria procesu uytkownika ................................................................................... 87
Awaria instancji ....................................................................................................... 87
Zniszczenie plikw dyskowych bazy ....................................................................... 88
Tworzenie kopii zapasowych (BACKUP) i odtwarzanie bazy danych (RECOVERY) .. 88
Kopia systemowa bez archiwizacji .......................................................................... 89
Odtwarzanie bazy danych z kopii systemowej bez archiwizacji .............................. 90
Archiwizacja plikw dziennika powtrze .............................................................. 90
Kopia systemowa z archiwizacj ............................................................................. 91
Odtwarzanie bazy danych z kopii systemowej z archiwizacj ................................. 92
Kopia bazy wykonana za pomoc programu EXPORT ........................................... 93
Odtwarzanie bazy z plikw eksportu ....................................................................... 93
Operacje na danych bazy ................................................................................................ 93
Odczyt danych z bazy .............................................................................................. 94
Zmiana danych w bazie ............................................................................................ 94
Zapis danych do bazy ............................................................................................... 95
Rozdzia 2.
Gdzie s dane?
Nietrudno sobie wyobrazi, e baza danych Oracle musi zapisywa powierzone jej informacje do plikw na dysku. Dla odrnienia ich od innych plikw wchodzcych
w skad bazy, okrela si je jako pliki danych (Data Files). Baza moe zawiera jeden
lub wiele takich plikw. Podczas zakadania nowej bazy trzeba z gry okreli, ile przestrzeni dyskowej zajmowa bd pliki z danymi bazy. Wielko t mona rwnie
powikszy lub zmniejszy w trakcie pracy bazy, przez dodawanie lub kasowanie plikw. Pliki z danymi nie s jednak elementem struktury logicznej bazy. Serwer bazy
Oracle operuje obszarem dysku twardego, zarezerwowanym dla zapisu danych, zorganizowanym w formie przestrzeni tabel.
28
29
Wczeniejsze wersje systemw Oracle umoliwiay umieszczanie tych obiektw w dowolnie wskazanej przestrzeni tabel, wymagajc jednoczenie wiadomego administrowania ich parametrami. W systemie Oracle 9i wprowadzono automatyczny system
zarzdzania segmentami wycofania, uwzgldniajc jednoczenie w strukturze bazy
predefiniowany typ przestrzeni UNDO.
Jak opisa zwizki midzy baz danych a przestrzeni tabel?
We wczeniejszych wersjach bazy danych Oracle mogy si skada z jednej lub wielu
przestrzeni tabel (Tablespace). Bardzo mae bazy mogy by zoone tylko z przestrzeni systemowej, cho takie rozwizanie nie jest polecane, podobnie zreszt jak
wykorzystywanie tak skomplikowanego motoru bazy danych do przechowywanie niewielkiej iloci informacji. Zwykle zalecao si utworzenie choby jednej dodatkowej
przestrzeni dla oddzielenia danych zapisanych przez uytkownikw od danych zawartych w sowniku bazy. Nowa baza danych, utworzona poleceniem CREATE DATABASE,
moga teoretycznie rzecz biorc skada si tylko z przestrzeni tabel SYSTEM.
Jednym z pierwszych polece, wykonywanych przez administratora takiej bazy, byo zatem zaoenie oddzielnej przestrzeni dla gromadzenia danych uytkownikw.
Na rysunku 2.1 zaprezentowano schematycznie dwie bazy. Pierwsza z nich skada si
tylko z przestrzeni SYSTEM. Druga dodatkowo zawiera przestrze tabel DANE, przeznaczon do gromadzenia danych uytkownikw bazy.
Rysunek 2.1.
Najprostsze
konfiguracje
przestrzeni tabel
w bazach Oracle
do wersji 9i
30
Jeli przestrze tabel SYSTEM okae si zbyt maa, aby pomieci dane, ktre maj
zosta tam zapisane, moemy rozszerzy j o jeszcze jeden plik dyskowy, np. o nazwie
system2.ora. Teraz przestrze tabel skada si fizycznie z dwch plikw, lecz stanowi
logiczn cao dla serwera Oracle.
Rozszerzmy nasz baz o dodatkowe dwie przestrzenie tabel i nazwijmy je TEMP
i DANE. Poniewa kada z tych przestrzeni moe skada si z wielu plikw, przyj-
31
32
Jeli przestrze tabel jest tworzona fizycznie przez wicej ni jeden zbir na dysku, to
dane zapisane w obiekcie znajdujcym si w tej przestrzeni mog by rozlokowane
we wszystkich jej plikach lub tylko w jednym z nich.
Na rysunku 2.4 przedstawiono sytuacj, w ktrej dane z tabeli umieszczonej w pierwszej przestrzeni tabel rozmieszczono w dwch plikach, ktre fizycznie tworz t przestrze. Inna tabela, rwnie umieszczona w tej przestrzeni tabel, zawiera wszystkie
swoje dane tylko w jednym z plikw. Uytkownik bazy nie ma wpywu na rozmieszczenie danych w plikach przestrzeni tabel. Wyjtkiem jest tu uycie opcji partycjonowania danych.
Rysunek 2.4.
Przestrzenie tabel
i umieszczone w nich
obiekty bazodanowe
Odwracajc problem: nie jest moliwe utworzenie obiektu bazy (na przykad bardzo
duej tabeli), ktry by si mg znajdowa w kilku przestrzeniach tabel. Zobrazowano
to na rysunku 2.4. Przestrze tabel nr 2 fizycznie skada si z jednego pliku dyskowego przedstawionego tu jako plik danych nr 3. Wszystkie dane obiektw umieszczonych w tej przestrzeni musz fizycznie znale si w pliku danych nr 3. Jeli uytkownik zechciaby wprowadzi do tej przestrzeni tabel wicej danych ni pozwala na
to fizyczna wielko pliku danych nr 3, baza odpowiedziaaby komunikatem o bdzie
i wprowadzanie dalszych danych byoby niemoliwe do czasu powikszenia Przestrzeni tabel nr 2 o kolejny plik dyskowy, np. Plik danych nr 4.
Tabele i przestrzenie tabel to bardzo wane lecz nie jedyne obiekty wystpujce
w bazie danych Oracle. W bazie danych istnieje znacznie wicej typw obiektw.
Omwimy teraz po kolei sposoby tworzenia oraz najwaniejsze waciwoci istotnych
obiektw bazodanowych. Ten przegld rozpoczniemy od elementw o podstawowym
znaczeniu, czyli od przestrzeni tabel. Nastpnie zapoznamy si z obiektami, ktre s
zawarte w przestrzeniach tabel i w rny sposb su do organizacji i przechowywania danych.
33
Powysze polecenie powoduje powstanie pliku dyskowego o podanej nazwie, lokalizacji (DATAFILE) i rozmiarze (SIZE...M lub SIZE...k).
nazwa_nowej_przestrzeni_tabel jest to nazwa, jak otrzyma nowa przestrze
tabel w bazie;
nazwa_pliku powinna zawiera pen ciek i nazw pliku, ktry zostanie
Powysze polecenie okrela nazw i rozmiar nowego pliku, ktry wejdzie w skad przestrzeni tabel.
nazwa_pliku pena cieka i nazwa pliku, ktry zostanie utworzony na dysku
Innym sposobem powikszania przestrzeni tabel jest ustawienie parametru umoliwiajcego samoczynne rozszerzanie si pliku zadeklarowanego podczas tworzenia tej
przestrzeni. Naley jednak uwaa na rozmiar takiego pliku mimo e systemy operacyjne obsuguj coraz to wiksze pliki, to ich nadmierne rozszerzanie si nie jest
wygodne. atwiej na przykad przekopiowa 4 pliki po 500 MB kady ni jeden o wielkoci 2 GB.
34
Aby tworzona przestrze tabel moga zwiksza si automatycznie, naley w poleceniu CREATE okreli pewne parametry:
SQL > CREATE TABLESPACE nazwa_nowej_przestrzeni_tabel
DATAFILE ' nazwa_pliku '
SIZE rozmiar pliku
AUTOEXTEND ON
NEXT xxx
MAXSIZE xxxx;
gdzie:
AUTOEXTEND okrela przyzwolenie lub zakaz automatycznego zwikszania
rozmiaru plikw;
NEXT okrela, o jak wielko plik zostanie powikszony, jeli nastpi taka
konieczno;
MAXSIZE jest maksymaln dopuszczaln wielkoci tego pliku.
jego lokalizacj. W efekcie otrzymasz dwa pliki o tej samej zawartoci, rnice
si nazw lub pooeniem w drzewie katalogw.
2. Zaloguj si w bazie danych za pomoc programu SQL*PLUS lub Enterprise
podajc jako:
nazw_pliku
zbioru;
now_nazw_pliku now nazw i lokalizacj kopii modyfikowanego pliku.
35
uytkownikom bazy:
SQL > ALTER TABLESPACE nazwa_przestrzeni_tabel
ONLINE;