You are on page 1of 14

IDZ DO

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

ZAMW DRUKOWANY KATALOG

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

Rozdzia 2. Baza danych Oracle od rodka ........................................................ 27


Gdzie s dane? ................................................................................................................ 27
Co to jest przestrze tabel? ............................................................................................. 27
Systemowa przestrze tabel ..................................................................................... 28
Przestrze segmentw wycofania ............................................................................ 28
Przestrzenie tabel a pliki bazy danych ............................................................................ 30
Struktura bazy Oracle 10g .............................................................................................. 31
Przestrzenie tabel a obiekty bazy .................................................................................... 31

Oracle atwiejszy ni przypuszczasz


Przestrzenie tabel (TABLESPACE) ............................................................................... 32
Tworzenie przestrzeni tabel ..................................................................................... 33
Powikszanie i modyfikacja przestrzeni tabel .......................................................... 33
Zmiana statusu przestrzeni tabel .............................................................................. 35
Usuwanie przestrzeni tabel ....................................................................................... 35
Schemat (SCHEMA) ...................................................................................................... 36
Obiekty schematu ..................................................................................................... 36
Tabele (TABLE) ............................................................................................................ 37
Tworzenie tabel ........................................................................................................ 39
Przegldanie struktury tabel ..................................................................................... 41
Modyfikacja tabel .................................................................................................... 42
Wpisywanie danych do tabeli .................................................................................. 44
Usuwanie wybranych wierszy tabeli ........................................................................ 45
Usuwanie wszystkich wierszy tabeli ........................................................................ 46
Zmiana nazwy tabeli ................................................................................................ 48
Usuwanie tabel ......................................................................................................... 48
Perspektywy (VIEW) ..................................................................................................... 49
Tworzenie perspektyw ............................................................................................. 49
Usuwanie perspektyw .............................................................................................. 52
Indeksy (INDEX) ........................................................................................................... 53
Struktura indeksu ..................................................................................................... 53
Rodzaje indeksw .................................................................................................... 55
Zasady korzystania z indeksw ................................................................................ 56
Tworzenie indeksw ................................................................................................ 56
Usuwanie indeksw ................................................................................................. 57
Segmenty wycofania (ROLLBACK SEGMENTS) ........................................................ 57
Tworzenie segmentw wycofania ............................................................................ 59
Usuwanie segmentw wycofania ............................................................................. 60
Przywileje bazodanowe (PRIVILEGES) ........................................................................ 61
Nadawanie przywilejw ........................................................................................... 61
Odbieranie przywilejw ........................................................................................... 64
Role bazodanowe (ROLE) ............................................................................................. 65
Tworzenie rl ........................................................................................................... 66
Nadawanie i odbieranie rl uytkownikom .............................................................. 66
Usuwanie rl ............................................................................................................ 67
Standardowe role bazy danych Oracle ..................................................................... 67
Uytkownicy bazy danych Oracle (USERS) .................................................................. 68
Domylna przestrze tabel (TABLESPACE DEFAULT) ........................................ 68
Tymczasowa przestrze tabel (TEMPORARY TABLESPACE) ............................. 69
Ograniczenia zasobw w przestrzeni tabel (TABLESPACE QUOTA) ................... 69
Ograniczenia zasobw systemowych (SYSTEM RESOURCE LIMIT) .................. 69
Tworzenie uytkownikw ........................................................................................ 69
Modyfikacja uytkownikw ..................................................................................... 70
Usuwanie uytkownikw ......................................................................................... 71
Procedury bazodanowe ................................................................................................... 71
Procedury i wyzwalacze (PROCEDURE i TRIGGER) ........................................... 72
PL/SQL .................................................................................................................... 72

Rozdzia 3. Jak dziaa baza danych Oracle? ....................................................... 75


Otwieranie i zamykanie bazy ......................................................................................... 75
Start .......................................................................................................................... 76
Stop .......................................................................................................................... 78
Otwieranie i zamykanie bazy dla zaawansowanych ................................................. 79

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 4. Narzdzia administratora bazy danych Oracle ................................... 97


Enterprise Manager 10g ................................................................................................. 97
Administracja ........................................................................................................... 98
Utrzymanie ............................................................................................................. 103
Oracle Enterprise Manager Console ............................................................................. 105

Rozdzia 5. Instalacja serwera Oracle .............................................................. 111


Instalacja standardowa ................................................................................................. 111
Gdzie jest baza danych? ............................................................................................... 117
Podstawowe narzdzia administratora .......................................................................... 119
iSQL ....................................................................................................................... 119
SQL*Plus ............................................................................................................... 119
Oracle Administration Assistant for Windows ....................................................... 121
Lokalizacja instalacji .............................................................................................. 123
Instalacja raz jeszcze .................................................................................................... 126

Rozdzia 6. Tworzenie bazy danych .................................................................. 131


Database Configuration Assistant ................................................................................ 131
Rczne tworzenie bazy danych ..................................................................................... 146

Rozdzia 7. Oracle Net .................................................................................... 151


Co to jest Oracle Net? .................................................................................................. 151
Net Configuration Assistant ......................................................................................... 153
Konfiguracja strony klienta .................................................................................... 153
Konfiguracja procesw nasuchu ........................................................................... 160

Rozdzia 8. Oracle 10g ................................................................................... 175


Co to znaczy 10g? ........................................................................................................ 175
Oracle Application Server 10g Grid Computing ..................................................... 176
Oracle Application Server 10g w detalach ................................................................... 180
Uruchamianie oprogramowania ............................................................................. 180
Konfiguracja rodowiska uytkownika .................................................................. 182

Oracle atwiejszy ni przypuszczasz


Zarzdzanie prac rodowiska ................................................................................ 184
Zapewnianie wysokiej dostpnoci systemu .......................................................... 187
Zarzdzanie i monitorowanie systemem ................................................................ 188
Tytuem podsumowania ............................................................................................... 191

Rozdzia 9. Kilka sztuczek administratora ....................................................... 193


RAID i Oracle .............................................................................................................. 193
Nowoczesne metody masowego wprowadzania danych, czyli Oracle Data Pump ...... 196
Kilka sztuczek na indeksach ......................................................................................... 198
Monitorowanie uycia indeksw ............................................................................ 198
Wirtualne indeksy .................................................................................................. 201
Przestrze tabel typu UNDO ........................................................................................ 202

Dodatek A Skrypty SQL ................................................................................. 205


Dodatek B Perspektywy sownika bazy danych ............................................... 207
Dodatek C Zestawienie przywilejw systemowych .......................................... 213
Bibliografia ................................................................................... 219
Skorowidz ..................................................................................... 221

Rozdzia 2.

Baza danych Oracle


od rodka
Poznawanie szczegw budowy bazy danych Oracle rozpoczniemy od zrozumienia
zalenoci midzy podstawowymi elementami tworzcymi baz. Zapoznamy si bliej z pojciami takimi jak tabela (ang. Table), przestrze tabel (ang. Tablespace) oraz
pliki bazy danych (ang. Data Files).

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.

Co to jest przestrze tabel?


Przestrze tabel najkrcej mona by zdefiniowa jako logiczny kontener, w ktrym
baza przechowuje zapisane w niej dane. Patrzc od strony serwera bazy danych Oracle,
przestrze tabel jest zbudowana z jednego lub kilku plikw. Przestrze ta dla motoru
bazy danych tworzy integraln (cho jedynie logiczn) cao. Serwer bazy danych
Oracle nie zapisuje danych do konkretnych plikw, tylko wanie w owych logicznych
strukturach, zwanych przestrzeniami tabel.

28

Oracle atwiejszy ni przypuszczasz

Wyobramy sobie, e baza danych zapisuje dane w przestrzeni tabel skadajcej si


z kilku fizycznych plikw dyskowych. Gdzie tak naprawd zostay zapisane nasze dane? Jeli administrator (DBA) nie stosuje zaawansowanych opcji zarzdzania zapisem
danych, to dokadnie nie wiadomo. Serwer umieci je w przestrzeni tabel, a procesy
drugoplanowe bazy zapisay gdzie na dysku. Moemy by pewni jedynie tego, e dane
znalazy si w bazie, a dokadniej, w jednym z plikw tworzcych przestrze tabel.
Poczwszy od smej wersji systemu Oracle, wprowadzono moliwo warunkowego
zarzdzania miejscem zapisywania danych. Wykorzystujc mechanizm partycjonowania tabel, mona skierowa konkretny rodzaj danych do konkretnego pliku ze zbioru
tworzcego dan przestrze. Powiedzmy wic, e w bazie znalaza si tabela z informacjami o zamwieniach. Moemy na przykad podzieli (partycjonowa) j w taki sposb, aby zamwienia z miesica maja byy zapisywane do pliku maj.dbf, a zamwienia
z miesica czerwca do pliku czerwiec.dbf. Oczywicie, oba te pliki musz tworzy
w bazie jeden logiczny byt, czyli przestrze tabel ZAMWIENIA.
Jakie korzyci przynosi taka organizacja danych? Po prostu zwiksza wydajno bazy
i niezawodno jej dziaania. Zaawansowane opcje odtwarzania bazy umoliwiaj na
przykad prac bazy mimo braku dostpu do pliku z danymi dla miesica maja. Jeli plik
ten zostanie uszkodzony i bdzie trzeba go odtworzy z kopii zapasowej, to do czasu
usunicia tej awarii aplikacja bdzie obsugiwaa zapytania dotyczce zamwie z czerwca. Uytkownicy danych dotyczcych zamwie z czerwca mog zupenie nie zauway awarii pliku zawierajcego dane o zamwieniach z maja. Ale to ju jest zadanie dla
zaawansowanych administratorw.

Systemowa przestrze tabel


Kada baza danych Oracle posiada systemow przestrze tabel (ang. System Tablespace), wystpujc zawsze pod nazw SYSTEM. Jest ona tworzona automatycznie
w czasie zakadania nowej bazy. Systemowa przestrze tabel zawiera zawsze tabele
tzw. sownika bazy danych (ang. Dictionary). W sowniku bazy danych znajduj si
informacje o wewntrznej strukturze bazy, jej uytkownikach i ich przywilejach (uprawnieniach). W przestrzeni systemowej s take przechowywane tworzone w jzyku PL/
SQL procedury, funkcje, pakiety oraz wyzwalacze bazodanowe.

Przestrze segmentw wycofania


Poczwszy od dziewitej wersji bazy danych Oracle znaczcej zmianie ulega filozofia zarzdzania obiektami bazodanowymi zwanymi rollback segment, czyli segmentami wycofania. Znaczenie i sposb dziaania segmentw wycofania zostan dokadniej opisane w dalszej czci ksiki. Teraz Czytelnik powinien zapamita, e su
do przechowywania informacji niezbdnych do wycofania aktualnie realizowanej transakcji, jeli uytkownik zamiast zatwierdzenia wprowadzonych zmian (Commit) zada
ich odwoania (Rollback).

Rozdzia 2. Baza danych Oracle od rodka

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

Dwie przestrzenie tabel nadal stanowi bardzo prosty model bazy.


W zastosowaniach produkcyjnych baz Oracle dzieli si zwykle na wiele przestrzeni
tabel. Przykadowy podzia takiej bazy moe wic wyglda nastpujco:
SYSTEM przestrze tabel zawierajca sownik bazy;
UNDO przestrze segmentw wycofania;
DANE przestrze do skadowania danych uytkownikw;

30

Oracle atwiejszy ni przypuszczasz


TEMP przestrze danych tymczasowych (ang. Temporary Tablespace),

wykorzystywana do przeszukiwania i indeksowania tabel;


ROLL przestrze zawierajca segmenty wycofania bazy;
INDEKS przestrze do zapisywania indeksw bazy.

Przestrzenie tabel a pliki bazy danych


Przestrze tabel moe skada si fizycznie z jednego lub kilku plikw dyskowych.
W najprostszym (i jest to przestarzay model) przypadku baza danych skada si tylko
z przestrzeni tabel SYSTEM. Przestrze ta fizycznie jest zawarta w jednym pliku typu
Data Files, ktry na rysunku 2.2 nosi nazw system.ora.
Rysunek 2.2.
Przestrzenie tabel
i odpowiadajce im
pliki dyskowe

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-

Rozdzia 2. Baza danych Oracle od rodka

31

mijmy, e przestrze TEMP tworz pliki temp1.ora i temp2.ora, za przestrze tabel


DANE tworz pliki dane1.ora i dane2.ora.
Teraz baza danych ma trzy przestrzenie tabel, czyli logicznie obszar przeznaczony na
zapis informacji jest podzielony na trzy obszary, a fizycznie dane te bd zapisywane
do szeciu plikw. Zaleno pomidzy struktur przestrzeni tabel a tworzcymi je fizycznymi plikami dyskowymi obrazuje rysunek 2.2.

Struktura bazy Oracle 10g


Bazy danych serii 10g zostay rozbudowane o kolejne obligatoryjne przestrzenie tabel. Obecnie polecenie CREATE DATABASE wymaga ju nie tylko zadeklarowania przestrzeni tabel SYSTEM. Drug obligatoryjn przestrzeni tabel jest SYSAUX (od auxiliary tablespace). Jest ona przeznaczona na potrzeby obiektw zwizanych z dodatkow
funkcjonalnoci bazy danych. Wprowadzenie tej przestrzeni pozwolio na zwikszenie wydajnoci bazy danych poprzez zrwnoleglenie dostpu do danych sownikowych. Z przestrzeni tej korzystaj midzy innymi Automatic Workload Repository,
Oracle Streams, Oracle Text, Enterprise Manager Repository itd.
Drug now obligatoryjn przestrzeni tabel jest UNDOTBS1. Jest ona odpowiednikiem przestrzeni tworzonej na potrzeby segmentw wycofania, z t jednak rnic, i
nie wymaga od administratora zarzdzania segmentami wycofania: ich wielkoci,
liczb czy parametrami. Reasumujc, najmniejsza logiczna konfiguracja bazy Oracle 10g
skada si z trzech przestrzeni tabel: SYSTEM, SYSAUX i UNDOTBS1 (rysunek 2.3).
Rysunek 2.3.
Najmniejsza logiczna
konfiguracja bazy
Oracle 10g

Przestrzenie tabel a obiekty bazy


Przestrzenie tabel w bazie danych Oracle w chwili ich tworzenia mog zosta obrazowo porwnane do pustych pojemnikw na dane. Gdy uytkownik tworzy w bazie
nowy obiekt, taki jak tabela czy indeks, zostaje on umieszczony w tej przestrzeni tabel,
ktra zostaa okrelona jako domylna dla tego uytkownika. Oznacza to, e kademu
uytkownikowi bazy przypisuje si jedn z przestrzeni tabel jako domyln i tworzone
przez niego obiekty bd lokalizowane w tej domylnej przestrzeni tabel (DEFAULT
TABLESPACE). Oczywicie, istnieje moliwo jawnego wskazania wybranej przestrzeni tabel w poleceniu tworzenia obiektu (CREATE...).

32

Oracle atwiejszy ni przypuszczasz

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.

Przestrzenie tabel (TABLESPACE)


Jak ju wiemy, baza danych Oracle logicznie skada si z jednej lub z kilku przestrzeni tabel. Administrator bazy lub uytkownik z uprawnieniami DBA moe tworzy, usuwa oraz modyfikowa przestrzenie tabel wraz ze zmieniajc si iloci danych zapisanych w bazie.

Rozdzia 2. Baza danych Oracle od rodka

33

Tworzenie przestrzeni tabel


Przestrzenie tabel mona tworzy, korzystajc zarwno z narzdzia SQL*PLUS, jak
i z programu Enterprise Manager. Uytkownik posiadajcy uprawnienia administratora
bazy (DBA) moe utworzy now przestrze tabel nie przerywajc pracy bazy. Suy
do tego polecenie:
SQL > CREATE TABLESPACE nazwa_nowej_przestrzeni_tabel
DATAFILE ' nazwa_pliku '
SIZE rozmiar_pliku;

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

utworzony na dysku przez serwer Oracle i system operacyjny komputera


pracujcego jako serwer bazy np.: nazwa_volumenu_novel: oranw\database\
nazwa_pliku.ora. Rozszerzenie nazwy pliku nie jest cile okrelone zwykle
uywa si .ORA lub .DBF;
rozmiar_pliku zapisany w formacie 9999k lub 9999M (np. 500k, 10M), okrela

wielko przestrzeni tabel wykorzystywanej przez serwer Oracle, natomiast


plik na dysku jest zawsze nieznacznie wikszy.

Powikszanie i modyfikacja przestrzeni tabel


Jeeli wielko przestrzeni tabel zadeklarowana przy jej tworzeniu okae si niewystarczajca dla zapisywanych danych, mona j powikszy przez dodanie kolejnego
pliku dyskowego. W tym celu wydajemy polecenie:
SQL > ALTER TABLESPACE nazwa_przestrzeni_tabel
ADD DATAFILE 'nazwa_pliku'
SIZE rozmiar_pliku;

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

jako kolejny plik danych powikszanej przestrzeni tabel;


rozmiar_pliku zapisany w formacie takim samym jak dla instrukcji CREATE;
nazwa_przestrzeni_tabel nazwa powikszanej przestrzeni tabel.

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

Oracle atwiejszy ni przypuszczasz

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.

Z kolei instrukcja ALTER TABLESPACE umoliwia zmian nazwy ju istniejcego pliku


wchodzcego w skad przestrzeni. Poniej pokazano tak instrukcj:
SQL > ALTER TABLESPACE nazwa_przestrzeni_tabel
RENAME DATAFILE 'nazwa_pliku' TO 'nowa_nazwa_pliku';

Powysza operacja ta nie moe by wykonana na przestrzeni, ktra w bazie ma status


ONLINE, a instrukcja RENAME DATAFILE nie tworzy nowego pliku na dysku. Z powyszego wynika, e naley wykona nastpujce czynnoci.
1. Zamknij baz danych i z poziomu systemu operacyjnego skopiuj plik, ktrego
dotyczy instrukcja RENAME DATAFILE. Nadaj kopii pliku now nazw lub zmie

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

Manager na konto administratora lub uytkownika SYSTEM.


3. Wpisz ponisze polecenie. Zmieni ono status przestrzeni tabel na OFFLINE.
SQL > ALTER TABLESPACE nazwa_przestrzeni_tabel
OFFLINE;

4. Wykonaj ponisz instrukcj:


ALTER TABLESPACE nazwa_przestrzeni_tabel
RENAME DATAFILE 'nazwa_pliku' TO 'nowa_nazwa_pliku';

podajc jako:
nazw_pliku

dotychczasow nazw i lokalizacj modyfikowanego

zbioru;
now_nazw_pliku now nazw i lokalizacj kopii modyfikowanego pliku.

Teraz w bazie danych znajduje si informacja o nowej nazwie i lokalizacji


pliku danych, a stary plik nie bdzie ju wykorzystywany przez system Oracle.

Rozdzia 2. Baza danych Oracle od rodka

35

5. Zmie status przestrzeni tabel na ONLINE, by ponownie udostpni j

uytkownikom bazy:
SQL > ALTER TABLESPACE nazwa_przestrzeni_tabel
ONLINE;

6. Usu fizycznie z dysku stary plik, uywajc polece systemu operacyjnego.

Zmiana statusu przestrzeni tabel


Przestrze tabel w pracujcej bazie danych Oracle moe by dostpna lub niedostpna
dla uytkownikw bazy, czyli administrator moe wyczy z pracy jedn lub kilka
przestrzeni tabel, zmieniajc ich status bazodanowy.
Zmiany statusu przestrzeni tabel dokonuje si poleceniem ALTER TABLESPACE. Ustawienie statusu przestrzeni na ONLINE powoduje, e jest ona gotowa do pracy i dostpna
dla uytkownikw. Bezporednio po utworzeniu instrukcj CREATE TABLESPACE przestrze tabel ma status ONLINE.
Status przestrzeni OFFLINE oznacza, e nie mona ani korzysta z danych zgromadzonych w tej przestrzeni, ani te zapisywa tam nowych danych. Do zmiany statusu przestrzeni tabel su ponisze polecenia.
SQL > ALTER TABLESPACE nazwa_przestrzeni_tabel
ONLINE;
SQL > ALTER TABLESPACE nazwa_przestrzeni_tabel
OFFLINE;

You might also like