administracja bazami danych

Transkrypt

administracja bazami danych
SPIS TREĝCI
- 218 -
§ 24.1. Rodzaje odtwarzania................................................................................................................................................................................. 261
§ 24.2. Odtwarzanie bazy danych w trybie NOARCHIVELOG ......................................................................................................................... 261
§ 24.3. Odtwarzanie peáne w trybie ARCHIVELOG........................................................................................................................................... 262
24.3.1. Odtwarzanie peáne caáej bazy danych ............................................................................................................................................. 262
24.3.2. Odtwarzanie peáne pojedynczej przestrzeni tabel ........................................................................................................................... 262
24.3.3. Odtwarzanie peáne pojedyĔczego pliku danych.............................................................................................................................. 263
24.3.4. Odtwarzanie bazy danych w przypadku utraty systemowej przestrzeni tabel................................................................................ 263
24.3.5. Odtwarzanie bazy danych do okreĞlonego momentu w czasie....................................................................................................... 263
24.3.6. Odtwarzanie bazy danych do przerwania........................................................................................................................................ 264
ADMINISTRACJA
BAZAMI DANYCH
25. RMAN – RECOVERY MANAGER .................................................................................................................................................................. 265
§ 25.1. Tworzenie kopii zapasowej przestrzeni tabel........................................................................................................................................... 267
§ 25.2. Tworzenie kopii zapasowej plików danych ............................................................................................................................................. 267
§ 25.3. Tworzenie kopii zapasowej plików kontrolnych...................................................................................................................................... 268
§ 25.4. Tworzenie kopi zapasowej archiwalnych plików dziennika powtórzeĔ.................................................................................................. 268
§ 25.5. RESTORE (Odtwarzanie) i RECOVER (rekonstrukcja)......................................................................................................................... 269
Rozdziaáy 20-26
26. MECHANIZM EXPORTU I IMPORTU DATA PUMP ................................................................................................................................... 272
§ 26.1. Export........................................................................................................................................................................................................ 272
§ 26.2. Import........................................................................................................................................................................................................ 274
Rok akademicki – 2007/2008
Notatki do przedmiotu „Administracja bazami danych”
SPIS TREĝCI
SPIS TREĝCI............................................................................................................................................................................................................. 216
20. WYBRANE ZMIENNE PLIKU PARAMETRÓW ........................................................................................................................................... 219
§ 20.1. Przykáadowy plik init<sid>.ora ................................................................................................................................................................ 219
§ 20.2. Opis podstawowych parametrów pliku init.ora........................................................................................................................................ 220
21. WSPÓàBIEĩNOĝû W SYSTEMIE ORACLE ................................................................................................................................................. 222
§ 21.1. Transakcyjny tryb pracy w systemie ORACLE ....................................................................................................................................... 222
§ 21.2. Tryby w jakich moĪe pracowaü transakcja............................................................................................................................................... 223
21.2.1. Tryb READ COMMITTED ............................................................................................................................................................ 223
21.2.2. Tryb READ ONLY.......................................................................................................................................................................... 224
21.2.3. Tryb SERIALIZABLE .................................................................................................................................................................... 224
§ 21.3. Mechanizm blokowania danych ............................................................................................................................................................... 225
21.3.2. Jawne zaáoĪenie blokady na tabeli................................................................................................................................................... 227
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
20. WYBRANE ZMIENNE PLIKU PARAMETRÓW
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
- 220 -
§ 20.2. Opis podstawowych parametrów pliku init.ora
NaleĪy zdawaü sobie sprawĊ z tego, Īe pewne parametry moĪna okreĞliü tylko jeden raz –
w momencie kiedy baza danych jest tworzona.
Im wiĊcej rzeczy da siĊ przewidzieü na samym początku, tym mniej problemów czysto technicznych
i organizacyjnych trzeba bĊdzie rozwiązywaü w czasie uĪytkowania bazy danych.
NAZWA PARAMETRU
DB_NAME
INSTANCE_NAME
DB_FILES
CONTROL_FILES
COMPATIBLE
OPEN_CUROSRS
DB_FILE_MULTIBLOCK_
RED_COUNT
DB_BLOCK_BUFFERS
SHARED_POOL_SIZE
LARGE_POOL_SIZE
JAVA_POOL
LOG_CHECKPOINT_
TIMEOUT
PROCESSES
LOG_BUFFER
AUDIT_TRAIL
OPIS
Nazwa bazy danych.
Nazwa instancji.
Maksymalna liczba plików jaką moĪe otworzyü baza danych.
Specyfikuje nazwy i poáoĪenie plików kontrolnych.
Numer wersji serwera z jaką powinna byü kompatybilna ta instancja.
Maksymalna liczba kursorów, które moĪe jednoczeĞnie otworzyü sesja
Maksymalna liczba bloków danych odczytywana z dysku podczas jednej operacji odczytu
Liczba buforów w SGA przydzielona dla bufora danych.
Rozmiar wspóádzielonej puli w bajtach.
Rozmiar w bajtach obszaru w SGA przechowującego duĪe obiekty niezwiązane z poleceniami
SQL.
Rozmiar w bajtach struktury w SGA przeznaczonej do przechowywania kodu Java.
Maksymalny odstĊp czasowy pomiĊdzy punktami kontrolnymi ( wyraĪony w sekundach).
Maksymalna liczba procesów systemu operacyjnego podáączonych do instancji.
Liczba buforów w SGA przydzielona dla bufora dziennika powtórzeĔ.
Wáącza lub wyáącza audyt bazy danych.Dopuszczalne wartoĞci:
NONE(FALSE) -audyt wyáączony
DB(TRUE)
- audyt wáączony, wyniki bĊdą zapisywane w bazie danych
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
21. WSPÓàBIEĩNOĝû W SYSTEMIE ORACLE
- 222 -
21. WSPÓàBIEĩNOĝû W SYSTEMIE ORACLE
Wszystkie operacje wykonywane w Oracle odbywają siĊ w trybie transakcyjnym.
Transakcja moĪe byü realizowana w jednym z trzech trybów.
x Tryb READ COMMITTED,
x Tryb READ ONLY,
x Tryb SERIALIZABLE.
Z transakcjami wiąĪe siĊ ĞciĞle zjawisko blokowania danych.
Blokowanie danych ma na celu zapewnienie synchronizacji zapisów.
§ 21.1. Transakcyjny tryb pracy w systemie ORACLE
Z pracą bazy danych wiąĪe siĊ pojĊcie transakcji (transaction).
WáasnoĞci transakcji w Systemie Oracle:
x AtomowoĞü
- wszystkie operacje wykonywane w ramach transakcji muszą zakoĔczyü siĊ
pomyĞlnie, niepowodzenie jednej z nich powoduje wycofanie caáej transakcji.
x SpójnoĞü - w wyniku realizacji transakcji otrzymujemy spójny stan bazy danych, w którym
Īadne z ograniczeĔ integralnoĞciowych nie jest naruszone.
x Izolacja - zmiany wprowadzone przez transakcjĊ są widoczne dla innych uĪytkowników
dopiero w momencie jej zatwierdzenia.
x TrwaáoĞü - po zatwierdzeniu transakcji zmiany są zapisywane na trwaáe do bazy.
Zatwierdzenie lub wycofanie aktualnej transakcji jest początkiem nastĊpnej.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
21. WSPÓàBIEĩNOĝû W SYSTEMIE ORACLE
- 224 -
Uwaga. Polecenie naleĪy wykonaü jako pierwsze w ramach sesji.
21.2.2. Tryb READ ONLY
x Transakcja T1 operuje na wersji danych z momentu jej rozpoczĊcia.
x Transakcja w tym trybie nie moĪe modyfikowaü danych.
x Nie widzi zmian wprowadzonych w miĊdzy czasie przez inne, zatwierdzone transakcje.
Tryb Read Only stosowany jest w przypadku obliczeĔ analitycznych.
Polecenie umoĪliwiające przestawienie pojedynczej transakcji w tryb Read Only:
SQL> SET TRANSACTION Read Only;
Uwaga. Polecenie naleĪy wykonaü jako pierwsze w ramach transakcji.
21.2.3. Tryb SERIALIZABLE
x
Transakcja w trybie Serializable, podobnie jak transakcja w trybie Read Only, operuje na wersji
danych z momentu jej rozpoczĊcia.
x RóĪnica polega na tym, Īe moĪna modyfikowaü dane, które nie zostaáy zmienione przez inne
transakcje w trakcie jej trwania.
Polecenie umoĪliwiające przestawienie pojedynczej transakcji w tryb Serializable:
21. WSPÓàBIEĩNOĝû W SYSTEMIE ORACLE
Brak
RS
RX
S
SRX
X
SQL> SET TRANSACTION ISOLATION LEVEL Serializable;
Uwaga. Polecenie naleĪy wykonaü jako pierwsze w ramach transakcji.
Polecenie umoĪliwiające ustawienie trybu Serializable dla wszystkich transakcji realizowanych
w ramach danej sesji:
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
21. WSPÓàBIEĩNOĝû W SYSTEMIE ORACLE
- 228 -
UniemoĪliwia modyfikowanie danych dopuszczając tylko ich przeglądanie (SELECT …). ZaáoĪenie innej
blokady nie jest moĪliwe.
§ 21.4. Informacja o zaáoĪonych blokadach
MoĪna ją uzyskaü z widoku systemowego V$LOCK w poáączeniu z danymi pomocniczymi pochodzącymi
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
Brak
TAK
TAK
TAK
TAK
TAK
TAK
RS
TAK
TAK
TAK
TAK
TAK
Nie
RX
TAK
TAK
TAK
Nie
Nie
Nie
S
TAK
TAK
Nie
TAK
Nie
Nie
SRX
TAK
TAK
Nie
Nie
Nie
Nie
X
TAK
Nie
Nie
Nie
Nie
Nie
Rysunek 21.3.1. Tabela zgodnoĞci blokad
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
Modyfikowane rekordy są zawsze blokowane w trybie EXCLUSIVE (X).
Pojawienie siĊ blokady tego typu oznacza, Īe niektóre lub wszystkie rekordy tabeli zostaáy
zmodyfikowane.
WàAĝCIWOĝCI BLOKADY S (SHARE)
Zakáadana jest gdy transakcja T1 chce uniemoĪliwiü zmianĊ danych w tabeli przez inne równolegle
dziaáające transakcje i jednoczeĞnie sama nie bĊdzie ich modyfikowaáa.
Transakcje nie zmieniające zawartoĞci tabeli (SELECT …) mogą wspóápracowaü z transakcją T1.
WàAĝCIWOĝCI BLOKADY SRX (SHARE ROW EXCLUSIVE)
Zakáadana jest wtedy gdy transakcja T1 bĊdzie modyfikowaü zawartoĞü tabeli i jednoczeĞnie chce
uniemoĪliwiü zmianĊ danych w tej tabeli przez inne równolegle dziaáające transakcje.
Inne transakcje wymagające aby w trakcie ich pracy zawartoĞü tabeli pozostaáa niezmieniona lub chcące
ją zmodyfikowaü nie mogą wspóápracowaü z transakcją T1.
WàAĝCIWOĝCI BLOKADY X (EXCLUSIVE)
z widoków V$SESSION oraz SYS.OBJ$.
- 226 -
Są to ustawienia domyĞlne, przy których blokady są zakáadane tylko w przypadku wykonywania poleceĔ
modyfikujących dane (DELETE, UPDATE, INSERT).
Operacja SELECT nie wymaga nakáadania blokady na tabeli i rekordzie.
Blokowanie rekordów odbywa siĊ zawsze w trybie EXCLUSIVE (X).
Dwie blokady X nie są ze sobą zgodne.
Blokowanie tabeli odbywa siĊ w trybie RS, RX, S, SRX oraz X gdzie:
x RS
ROW SHARE
x RX
ROW EXCLUSIVE
x S
SHARE
x SRX
SHARE ROW EXCLUSIVE
x X
EXCLUSIVE
ZgodnoĞü blokad tabeli:
21. WSPÓàBIEĩNOĝû W SYSTEMIE ORACLE
- 230 -
Przykáad 21.4.2. Przykáad o zaáoĪonych blokadach.
Pierwsza sesja:
Druga sesja:
CONNECT hr/hr
CONNECT hr/hr
SET TRANSACTION NAME 't1';
SET TRANSACTION NAME 't2';
SELECT * FROM regions FOR UPDATE;
SELECT * FROM regions FOR UPDATE;
Sesja administratora:
SQL> CONNECT system/test
SQL> select z przykáadu 21.4.1
USERNAME
HR
HR
HR
HR
TYPE
TX
TM
TM
TX
NAME
REGIONS
REGIONS
-
TYP_BL
BRAK
RX
RX
X
T_BL_OCZ
X
BRAK
BRAK
BRAK
SID
37
37
29
29
STATUS
ACTIVE
ACTIVE
INACTIVE
INACTIVE
OSUSER
LAPTOP\xxxx
LAPTOP\xxxx
LAPTOP\xxxx
LAPTOP\xxxx
MACHINE
DOM\LAPTOP
DOM\LAPTOP
DOM\LAPTOP
DOM\LAPTOP
PROGRAM
sqlplus.exe
sqlplus.exe
sqlplus.exe
sqlplus.exe
§ 21.5. Zakleszczenia (deadlocks)
Zaletą metody blokowania danych jest zapewnienie synchronizacji zapisu w przypadku wielu transakcji
próbujących modyfikowaü te same dane.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
21. WSPÓàBIEĩNOĝû W SYSTEMIE ORACLE
- 232 -
WáaĞciciel transakcji, dla której nastąpiáo zakleszczenie otrzymuje wówczas komunikat:
22. ARCHIWIZACJA BAZY DANYCH
x
ORA-…….: deadlock detected while waiting for resource
Algorytm wyboru transakcji do przerwania nie zostaá wyspecyfikowany w dokumentacji Oracle.
- 234 -
Archiwizacja logiczna (logical backup) - polega na skorzystaniu z programu Exp do
sporządzenia kopii struktur logicznych bazy danych. Program ten zapisuje informacje o obiektach
bazy danych i same dane w pliku binarnym. Plik ten moĪe byü przetwarzany przez program Imp.
§ 21.6. Rola administratora
Tryby pracy bazy:
x
Monitorowanie transakcji wszystkich uĪytkowników.
x
ZamkniĊcie wybranych sesji, których transakcje powodują zakleszczenie lub nadmierne
obciąĪenie systemu.
x
x
ARCHIVELOG
NOARCHIVELOG
/* z archiwizacją plików dziennika powtórzeĔ */
/* bez archiwizacji plików dziennika powtórzeĔ */
§ 22.3. Archiwizacja fizyczna caáej bazy danych w trybie OFFLINE
x
SQL> ALTER SYSTEM KILL SESSION (SID, SERIAL#);
Sugerowanie zmian w transakcjach powodujących spadek wydajnoĞci systemu.
W celu wykonania archiwizacji fizycznej naleĪy:
1. OkreĞliü nazwy i poáoĪenie wszystkich plików bazy dany. W tym celu naleĪy wydaü zapytania:
x
Ustawianie parametru Serializable:
SQL> SELECT status, enabled, name FROM v$datafile;
SQL> SELECT * FROM V$LOGFILE;
SQL> SELECT * FROM V$CONTROLFILE;
2. Zatrzymaü instancjĊ.
o Tryb Serializable moĪe byü wáączony na staáe poprzez ustawienie w pliku parametrów
Init<SID>.Ora parametru SERIALIZABLE=TRUE.
o DomyĞlnie jego wartoĞü wynosi FALSE co oznacza, Īe wszystkie transakcje są realizowane
w trybie Read Committed.
SQL> SHUTDOWN
3. Korzystając z poleceĔ systemu operacyjnego sporządziü kopie wszystkich plików okreĞlonych
w kroku 1. Sporządziü kopie pliku init<SID>.ora,
spfile<SID>.ora i pliku haseá
pwd<SID>.ora.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
22. ARCHIWIZACJA BAZY DANYCH
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
- 236 -
22. ARCHIWIZACJA BAZY DANYCH
x Pojedyncze tabele.
x
Wykonanie początkowego eksportu kompletnego bazy danych.
x Wszystkie obiekty okreĞlonych uĪytkowników.
x
Wykonanie eksportów inkrementalnych pod koniec kaĪdego dnia.
x Caáa baza danych.
x
Wykonanie eksportów kumulacyjnych okresowo, np. co tydzieĔ.
x
Wykonanie kompletnego eksportu okresowo np. co miesiąc.
W przypadku eksportowania pojedynczej tabeli oprócz definicji eksportowane są równieĪ: dane, prawa
dostĊpu, indeksy, ograniczenia integralnoĞciowe i wyzwalacze.
Eksport schematu uĪytkownika polega na sporządzeniu kopii wszystkich obiektów uĪytkownika.
Eksport caáej bazy danych jest równowaĪny:
x wyeksportowaniu wszystkich uĪytkowników (z wyjątkiem SYS),
x synonimów,
x praw dostĊpu,
x uprawnieĔ systemowych,
x definicji przestrzeni tabel,
x definicji segmentów wycofania,
x opcji auditingu,
x profili uĪytkowników i wszystkich wyzwalaczy.
Tego rodzaju operacje moĪe wykonaü uĪytkownik, który posiada role EXP_FULL_DATABASE.
§ 22.6. Archiwizacja logiczna. Program Exp
22.6.1. Eksport konta uĪytkownika
Konto uĪytkownika moĪe eksportowaü wáaĞciciel lub DBA.
c:\exp system@test OWNER=(HR) FILE=c:\hr1.dmp LOG=c:\hr1.log
lub
c:\exp hr@xe FILE=c:\hr1.dmp LOG=c:\hr1.log
MoĪna uĪywaü pliku parametrów.
c:\exp PARFILE=c:\exp_hr1.par
gdzie plik exp_hr1.par jest postaci:
USERID=system@xe
FILE=c:\hr1.dmp
LOG=c:\hr1.log
OWNER=(HR)
MoĪe to byü wykonane w trzech trybach:
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
- 238 -
22. ARCHIWIZACJA BAZY DANYCH
- 240 -
gdzie plik exp_xe.par jest postaci:
USERID=system@xe
FILE=c:\xe.dmp
LOG=c:\xe.log
FULL=Y
INCTYPE=COMPLETE
22. ARCHIWIZACJA BAZY DANYCH
22.7.1. Wczytanie peánej kopii archiwalnej
Procedura jest nastĊpująca:
/* Eksport kompletny */
22.6.5. Eksport caáej bazy – przyrostowy
c:\exp PARFILE=c:\exp_xe_1.par
gdzie plik exp_xe_1.par jest postaci:
USERID=system@xe
FILE=c:\exp_xe_1.dmp
LOG=c:\exp_xe_1.log
FULL=Y
INCTYPE=INCREMENTAL
NajczĊĞciej uĪywane parametry programu Exp:
USERID
BUFFER
FILE
FULL
- 242 -
§ 22.7. Odtwarzanie bazy danych w trybie NOARCHIVELOG
x
ZamkniĊcie bazy danych poleceniem shutdown lub shutdown abort.
x
Wgranie wszystkich plików bazy danych z ostatniej kopii na ich wáaĞciwe miejsca.
x
Otwarcie bazy danych poleceniem startup.
22.7.2. Odtwarzanie bazy danych na podstawie pliku eksportu – program Imp
Program Imp umoĪliwia importowanie:
x Pojedynczych tabel.
/* Eksport przyrostowy */
- OkreĞla nazwĊ i hasáo uĪytkownika, który dokonuje exportu.
- OkreĞla rozmiar bufora pamiĊci operacyjnej wykorzystywanego do przetwarzania eksportowanych danych.
Rozmiar tego bufora ( w bajtach) powinien mieü przynajmniej taką wartoĞü, jak najdáuĪszy eksportowany
rekord.
- Wskazuje nazwĊ pliku, do którego bĊdą eksportowane dane.
- WartoĞü Y powoduje eksport caáej bazy danych, natomiast N (domyĞlna) umoĪliwia eksportowanie
obiektów wybranych uĪytkowników lub tylko okreĞlonych tabel.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
22. ARCHIWIZACJA BAZY DANYCH
x
Wszystkich obiektów okreĞlonych uĪytkowników.
x
Caáej bazy danych.
Mechanizm importowanie ma równieĪ zastosowanie w przypadku przenoszenia danych z jednej bazy do
drugiej.
§ 22.8. Importowanie danych jednego uĪytkownika do drugiego
Stworzyü uĪytkownika u1 z rolami CONNECT i RESORCE.
c:\imp PARFILE=c:\imp_xe.par
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
- 244 -
§ 22.9. Odtwarzanie bazy danych na podstawie peánego eksportu
Musi byü stworzona instancja test i baza danych.
c:\imp PARFILE=c:\imp_xe.par
gdzie plik imp_test.par jest postaci:
22. ARCHIWIZACJA BAZY DANYCH
DESTROY
INCTYPE
- OkreĞla typ importowania danych i moĪe przyjmowaü wartoĞci: SYSTEM lub RESTORE.
LOG
- Wskazuje plik, do którego zostaną zapisane informacje o przebiegu importu.
PARFILE
- Wskazuje plik zawierający parametry importu.
HELP
- UmoĪliwia wyĞwietlenie parametrów importu.
USERID=system@xe
BUFFER=4096
FILE=c:\xe.dmp
LOG=c:\imp_xe.log
FULL=Y
Parametry programu Imp:
USERID
- OkreĞla nazwĊ i hasáo uĪytkownika, który importuje dane.
BUFFER
- OkreĞla rozmiar bufora (w bajtach) pamiĊci operacyjnej wykorzystywanej do przetwarzania danych.
FILE
- Wskazuje plik eksportu.
SHOW
- WartoĞü Y oznacza, Īe dane nie zostaną zaimportowane do bazy, a zawartoĞü zostanie tylko wyĞwietlona na
ekranie. Natomiast N spowoduje wczytanie danych.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
- 246 -
- WartoĞü Y powoduje nadpisanie istniejących przestrzeni tabel definicjami zawartymi w importowanym pliku.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
- 248 -
Po utworzeniu bazy danych powstaną nastĊpujące pliki:
Pliki dziennika powtórzeĔ:
Pliki kontrolne:
Redo11.log
Controlfile01.ctl
Redo12.log
Controlfile02.ctl
Redo21.log
Controlfile03.ctl
Redo22.log
Redo31.log
Redo32.log
Pliki danych:
System01.dbf
Undo01.dbf
Temp01.dbf
Sysaux.dbf
…
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
- 250 -
Redo11.log
Redo21.log
Redo31.log
Redo21.log
Redo22.log
Redo32.log
….ARC
….ARC
….ARC
….ARC
….ARC
….ARC
NaleĪy jeszcze uruchomiü pliki catalog.sql i catproc.sql w trypie OPEN.
W momencie startu instancji tworzony jest w pamiĊci RAM obszar SGA (System Global Area).
Bufor
dziennika
powtórzeĔ
Bufor danych
Obszar wspóádzielony
( Shared pool )
Rysunek 23.1.3. Pliki Redo w trybie ARCHIVELOG.
W przypadku zapeánienia wszystkich plików nastĊpuje kopiowanie plików i dopiero nastĊpuje
nadpisywanie i w ten sposób moĪna ewentualnie powróciü do danych do dowolnego momentu.
Rysunek 23.1.1. Obszar SGA.
Zapisywaniem wszystkich zmian na bazie danych do plików dziennika powtórzeĔ zajmuje siĊ proces
LGWR (Log Writer). Zapis jest cykliczny i moĪna go zilustrowaü nastĊpująco:
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
- 252 -
SQL> ARCHIVE LOG LIST
Tryb dziennika bazy danych
- 254 -
§ 23.4. Mechanizm wykrywania awarii bazy danych
Tryb archiwizacji
Wyáączona
Automatyczna archiwizacja
Miejsca archiwizowania
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
c:\oraclexe\archiwum
...
lub w tabeli systemowej V$DATABASE.
23.3.1. Archiwizacja automatyczna
KaĪda zatwierdzona transakcja otrzymuje unikatowy numer System Change Number (SCN). Informacje
o tych numerach moĪna znaleĨü w tabeli systemowej V$LOG_HISTORY.
23.4.2. Punkt kontrolny (checkpoint)
W pliku initxxxx.ora musi znajdowaü siĊ wpis:
LOG_ARCHIVE_START=TRUE
23.4.1. System Change Number (SCN)
???? (przestarzaáy)
lub w czasie, kiedy instancja jest otwarta:
SQL> CONNECT system@xxxx AS SYSDBA
SQL> ALTER SYSTEM ARCHIVE LOG START;
lub
Punkt kontrolny jest systemowym zdarzeniem bazy danych, dziĊki któremu dane z bufora danych w SGA
(„brudne” bloki) są zapisywane na dyski (do pliku danych trafiają zmiany zatwierdzone i niezatwierdzone).
Zapisu dokonuje proces serwera DBWR (Database Writer).
WystĊpują dwa rodzaje punktu kontrolnego:
x Bazy danych (database checkpoint) – wykonywany dla wszystkich plików danych.
x Pliku danych (datafile checkpoint) – wykonywany dla okreĞlonych plików danych.
SQL> ALTER SYSTEM ARCHIVE LOG START TO ’c:\oraclexe\archiwum’;
Archiwizowane pliki REDO bĊdą zapisywane do katalogu c:\oraclexe\archiwum.
23.3.2. Wyáączenie automatycznej archiwizacji
SQL> CONNECT system@xxxx AS SYSDBA
SQL> SHUTDOWN
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
Punkt kontrolny bazy danych (database checkpoint) wystĊpuje, gdy:
x NastĊpuje przeáączenie grupy plików dziennika powtórzeĔ
x Wykonane zostanie polecenie:
SQL> ALTER SYSTEM CHECKPOINT;
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
- 256 -
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
Plik kontrolny (control file ) jest plikiem binarnym, który zawiera m.in.:
- 258 Users01.dbf
Controlfile01.ora
x NazwĊ bazy danych.
x DatĊ utworzenia bazy.
Checkpoint cnt=4
Chkpt cnt=4
Stop scn=0xffff.ffffffff
Checkpointed at scn=0x0000.00001ba2
Operacja SHUTDOWN
lub SHUTDOWN IMMEDIATE
x Informacje o wszystkich grupach dziennika powtórzeĔ.
x BieĪącą grupĊ dziennika powtórzeĔ (aktualnie uĪywaną).
x NazwĊ, lokalizacjĊ i rozmiar kaĪdego pliku dziennika powtórzeĔ.
x Informacje o plikach danych (wáączony, wyáączony, …).
Checkpoint cnt=5
Chkpt cnt=5
Stop scn=0x0000.00001ba3
Checkpointed at scn=0x0000.00001ba3
Rysunek 23.4.1. Punkty kontrolne
x Informacje dotyczące punktów kontrolnych.
Oznacza to, Īe baza danych nie wymaga odtwarzania. Po otwarciu Stop scn przyjmuje znowu wartoĞü
x …
0xffff.ffffffff dla wszystkich plików danych.
23.4.4. Wykrywanie awarii
b) W wypadku, gdy baza danych zostanie zamkniĊta w trybie ABORT punkt kontrolny nie zostanie
NAGàÓWEK PLIKU DANYCH
Nagáówek pliku danych przechowuje m.in.:
wykonany. Oznacza to, Īe
x
x
x
BieĪący numer SCN punktu kontrolnego (Checkpointed at scn).
Licznik punktów kontrolnych (Chkpt cnt).
Numer sekwencyjny bieĪącego pliku dziennika powtórzeĔ w momencie wystąpienia punktu
kontrolnego.
Nagáówek pliku danych jest uaktualniany, gdy system wykonuje punkt kontrolny dla danego pliku.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
dla wszystkich plików danych.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
- 260 -
23.4.5. Mechanizm odtwarzania bazy danych
Odtwarzanie bazy danych po awarii instancji przebiega w dwóch fazach:
x Z dziennika powtórzeĔ poprawiane sa dane w plikach danych.
x Wycofanie niezatwierdzonych transakcji (korzystanie z segmentów wycofywania lub pliku
automatycznego wycofywania).
Stop scn <> Checkpointed at scn
24. ODTWARZANIE BAZY DANYCH PO AWARII
- 262 -
§ 24.3. Odtwarzanie peáne w trybie ARCHIVELOG
Trzy sposoby realizacji odtwarzania peánego:
x
x
Odtwarzanie caáej bazy danych
Odtwarzanie pojedynczej przestrzeni tabel
x Odtwarzanie pojedynczych plików danych
x Przy wyáączonych plikach danych.
24.3.1. Odtwarzanie peáne caáej bazy danych
– w trybie MOUNT
– w trybie OPEN przy wyáączonej
tej przestrzeni tabel.
– w trybie OPEN lub zamkniĊtej bazie danych.
NaleĪy wydaü polecenie:
SQL> RECOVER [AUTOMATIC] [FROM ’scieĪka_log’] DATABASE;
gdzie:
x AUTOMATIC - automatycznie uwzglĊdnia zmiany zawarte w plikach dziennika powtórzeĔ.
x ĞcieĪka_log - miejsce zarchiwizowanych plików dziennika powtórzeĔ (wartoĞü parametru
LOG_ARCHIVE_DEST w pliku init<SID>.ora).
24.3.2. Odtwarzanie peáne pojedynczej przestrzeni tabel
NaleĪy wydaü polecenie:
SQL> RECOVER [AUTOMATIC]
[FROM ’scieĪka_log’] TABLESPACE przestrzeĔ,…,przestrzeĔ;
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
24. ODTWARZANIE BAZY DANYCH PO AWARII
- 264 -
SQL> STARTUP MOUNT
SQL> RECOVER DATABASE UNTIL TIME ‘2003-01-01:00:00:00’;
SQL> ALTER DATABASE OPEN RESETLOGS;
/*otwarcie bazy z zerowaniem numerów sekwencyjnych*/
Postaü polecenia:
SQL> RECOVER [AUTOMATIC] [FROM ’scieĪka_log’] DATABASE
UNTIL CANCEL
[USING BACKUP CONTROLFILE];
KolejnoĞü postĊpowania:
SQL> CONNECT sys AS SYSDBA
SQL> SHUTDOWN
Wgranie plików danych z kopi archiwalnej.
SQL> STARTUP MOUNT
SQL> RECOVER DATABASE UNTIL CANCEL;
SQL> ALTER DATABASE OPEN RESETLOGS;
/*otwarcie bazy z zerowaniem numerów sekwencyjnych*/
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
- 268 -
Przy czym numery plików moĪna uzyskaü z perspektywy V$DATAFILE poleceniem:
SQL> SELECT file#, name FROM v$datafile;
§ 25.3. Tworzenie kopii zapasowej plików kontrolnych
Przydatną wáasciwoĞcią systemu Oracle jest moĪliwoĞü automatycznej archiwizacji plików kontrolnych
po kaĪdorazowym wydaniu polecenia backup. MoĪna to osiagnaü za pomoca polecenia configure w
nastepujacy sposób:
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
Samodzielnie archiwizacjĊ pliku kontrolnego w systemie Oracle przeprowadza siĊ za pomocą polecenia:
RMAN> BACKUP CURRENT CONTROLFILE;
§ 25.4. Tworzenie kopi zapasowej archiwalnych plików dziennika powtórzeĔ
W przypadku wersji Oracle skáadnia polecenia tworzącego kopie zapasową archiwalnych plików
dziennika powtórzeĔ (archived redo log files) jest nastĊpująca:
RMAN> BACKUP ARCHIVELOG ALL;
Inna technika, moĪliwa do zastosowania w systemie Oracle, jest zastosowanie w poleceniu backup
wyraĪenia plus archivelog, dzieki czemu archiwalne pliki dziennika powtórzeĔ wchodzą w skáad
kopii zapasowej. Wydanie poniĪszej instrukcji powoduje utworzenie co najmniej dwóch elementów kopii
zapasowej - dla plików danych i dla archiwalnych plików dziennika powtórzen:
RMAN> BACKUP DATABASE FORMAT 'c:\rmanbac\rman_%d_%t_%U.bus'
plus archivelog;
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
- 266 -
Starting backup at 07/05/12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=35 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=C:\ORACLEXE\ORADATA\XE\SYSTEM.DBF
input datafile fno=00003 name=C:\ORACLEXE\ORADATA\XE\SYSAUX.DBF
input datafile fno=00002 name=C:\ORACLEXE\ORADATA\XE\UNDO.DBF
input datafile fno=00004 name=C:\ORACLEXE\ORADATA\XE\USERS.DBF
channel ORA_DISK_1: starting piece 1 at 07/05/12
channel ORA_DISK_1: finished piece 1 at 07/05/12
piece handle=C:\RMANBAC\RMAN_XE_622350054_01IHGJN6_1_1.BUS
tag=TAG20070512T030053 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:05
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
channel ORA_DISK_1: starting piece 1 at 07/05/12
channel ORA_DISK_1: finished piece 1 at 07/05/12
piece handle=C:\RMANBAC\RMAN_XE_622350120_02IHGJP8_1_1.BUS
tag=TAG20070512T030053 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 07/05/12
24.3.6. Odtwarzanie bazy danych do przerwania
25. RMAN – RECOVERY MANAGER
25. RMAN – RECOVERY MANAGER
RMAN> BACKUP DATABASE FORMAT 'c:\rmanbac\rman_%d_%t_%U.bus';
Wgranie plików danych z kopi archiwalnej.
25. RMAN – RECOVERY MANAGER
- 270 -
W celu samodzielnego odtworzenia archiwalnych plików dziennika powtórzeĔ wydaje siĊ polecenie
RMAN> RESTORE ARCHIVELOG ALL;
Przykáad 25.5.2. W poniĪszym przykáadzie pokazano sposób odtwarzania i rekonstrukcji przestrzeni
tabel USERS z wybranej kopii.
Na wstĊpie naleĪy uzyskaü informacje o dostĊpnych backupach poleceniem:
RMAN> LIST BACKUP;
using target database control file instead of recovery catalog
List of Backup Sets
===================
BS Key Type LV Size
Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ --------------1
Full
460.55M
DISK
00:00:55
07/06/02
BP Key: 1
Status: AVAILABLE Compressed: NO Tag: TAG20070602T005019
Piece Name: C:\ORACLEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\BACKUPSET\2007
_06_02\O1_MF_NNNDF_TAG20070602T005019_3618OD7T_.BKP
List of Datafiles in backup set 1
File LV Type Ckp SCN
Ckp Time Name
---- -- ---- ---------- -------- ---1
Full 256764
07/06/02 C:\ORACLEXE\ORADATA\XE\SYSTEM.DBF
2
Full 256764
07/06/02 C:\ORACLEXE\ORADATA\XE\UNDO.DBF
3
Full 256764
07/06/02 C:\ORACLEXE\ORADATA\XE\SYSAUX.DBF
4
Full 256764
07/06/02 C:\ORACLEXE\ORADATA\XE\USERS.DBF
BS Key Type LV Size
Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ --------------2
Full
6.80M
DISK
00:00:02
07/06/02
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
26. MECHANIZM EXPORTU I IMPORTU DATA PUMP
- 272 -
26. MECHANIZM EXPORTU I IMPORTU DATA PUMP
26. MECHANIZM EXPORTU I IMPORTU DATA PUMP
Dysponując takim plikiem parametrów, moĪna uruchomiü eksport nastĊpująco:
C:>expdp hr/hr parfi1e=c:\dp3.par
§ 26.1. Export
SQL> CREATE DIRECTORY dtpump AS ‘c:\dtpump’;
UĪyta opcja INCLUDE zaznacza, jakie obiekty mają byü dodane do pliku eksportu.
Analogiczna opcja EXCLUDE wyáącza z eksportu zadane obiekty.
SQL> GRANT READ ON DIRECTORY dtpump TO hr, system;
§ 26.2. Import
SQL> GRANT WRITE ON DIRECTORY dtpump TO hr, system;
W przypadku peánego exportu wymagane jest posiadanie uprawnienia systemowego
IMP_FULL_DATABASE
Utwórzmy plik z parametrami dp1imp.par:
EXP_FULL_DATABASE
Utwórzmy plik z parametrami dp1.par:
DIRECTORY=dtpump
DUMPFILE=dp1.dmp
CONTENT= all
REMAP_SCHEMA=hr:u1
DIRECTORY=dtpump
DUMPFILE=dp1.dmp
CONTENT= all
W przypadku peánego importu wymagane jest posiadanie uprawnienia systemowego
/* data_only, metadata_only */
C:\expdp system/test PARFILE=c:\oraclexe\dp1imp.par
FULL=y
C:\expdp hr/hr PARFILE=c:\oraclexe\dp1.par
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
- 274 -