administracja bazami danych

Transkrypt

administracja bazami danych
ADMINISTRACJA
BAZAMI DANYCH
Rozdziaáy 20-26
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”
SPIS TREĝCI
- 217 -
21.3.3. WáaĞciwoĞci blokad ......................................................................................................................................................................... 227
§ 21.4. Informacja o zaáoĪonych blokadach ......................................................................................................................................................... 228
§ 21.5. Zakleszczenia (deadlocks) ........................................................................................................................................................................ 230
§ 21.6. Rola administratora................................................................................................................................................................................... 232
22. ARCHIWIZACJA BAZY DANYCH ................................................................................................................................................................. 233
§ 22.1. Podstawowe reguáy sporządzania kopii bezpieczeĔstwa ......................................................................................................................... 233
§ 22.2. Rodzaje archiwizacji................................................................................................................................................................................. 233
§ 22.3. Archiwizacja fizyczna caáej bazy danych w trybie OFFLINE................................................................................................................. 234
§ 22.4. Archiwizacja fizyczna caáej bazy danych w trybie ONLINE .................................................................................................................. 235
§ 22.5. Archiwizacja logiczna............................................................................................................................................................................... 235
§ 22.6. Archiwizacja logiczna. Program Exp ....................................................................................................................................................... 238
22.6.1. Eksport konta uĪytkownika ............................................................................................................................................................. 238
22.6.2. Eksport kont kilku uĪytkowników................................................................................................................................................... 239
22.6.3. Eksport wybranych tabel ................................................................................................................................................................. 239
22.6.4. Eksport caáej bazy - kompletny ....................................................................................................................................................... 239
22.6.5. Eksport caáej bazy – przyrostowy.................................................................................................................................................... 240
§ 22.7. Odtwarzanie bazy danych w trybie NOARCHIVELOG ......................................................................................................................... 242
22.7.1. Wczytanie peánej kopii archiwalnej ................................................................................................................................................ 242
22.7.2. Odtwarzanie bazy danych na podstawie pliku eksportu – program Imp ........................................................................................ 242
§ 22.8. Importowanie danych jednego uĪytkownika do drugiego ....................................................................................................................... 242
§ 22.9. Odtwarzanie bazy danych na podstawie peánego eksportu...................................................................................................................... 244
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ .............................................................................................................................. 247
§ 23.1. WstĊp ........................................................................................................................................................................................................ 247
§ 23.2. Dodawanie plików dziennika powtórzeĔ w czasie pracy bazy:............................................................................................................... 251
§ 23.3. Archiwizowanie plików dziennika powtórzeĔ ......................................................................................................................................... 251
23.3.1. Archiwizacja automatyczna............................................................................................................................................................. 252
23.3.2. Wyáączenie automatycznej archiwizacji ......................................................................................................................................... 252
23.3.3. Archiwizowanie dziennika powtórzeĔ przez administratora .......................................................................................................... 253
§ 23.4. Mechanizm wykrywania awarii bazy danych .......................................................................................................................................... 254
23.4.1. System Change Number (SCN)....................................................................................................................................................... 254
23.4.2. Punkt kontrolny (checkpoint) .......................................................................................................................................................... 254
23.4.3. Pliki kontrolne.................................................................................................................................................................................. 255
23.4.4. Wykrywanie awarii.......................................................................................................................................................................... 256
23.4.5. Mechanizm odtwarzania bazy danych............................................................................................................................................. 260
24. ODTWARZANIE BAZY DANYCH PO AWARII ........................................................................................................................................... 261
Rok akademicki – 2007/2008 - Notatki do przedmiotu „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
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
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”
20. WYBRANE ZMIENNE PLIKU PARAMETRÓW
20. WYBRANE ZMIENNE PLIKU PARAMETRÓW
§ 20.1. Przykáadowy plik init<sid>.ora
db_cache_size=427819008
java_pool_size=4194304
arge_pool_size=8388608
shared_pool_size=155189248
streams_pool_size=0
audit_file_dest='C:\oraclexe\app\oracle\admin\test\adump'
audit_trail='TRUE'
background_dump_dest='C:\oraclexe\app\oracle\admin\test\bdump'
compatible='10.2.0.1.0'
control_files='C:\oraclexe\oradata\test\control.dbf'
core_dump_dest='C:\oraclexe\app\oracle\admin\test\cdump'
db_name='test'
instance_name=’test’
DB_RECOVERY_FILE_DEST_SIZE=10G
DB_RECOVERY_FILE_DEST='C:\oraclexe\app\oracle\flash_recovery_area'
dispatchers='(PROTOCOL=TCP) (SERVICE=testXDB)'
job_queue_processes=4
open_cursors=300
os_authent_prefix=''
pga_aggregate_target=190M
remote_login_passwordfile='EXCLUSIVE'
sessions=20
sga_target=570M
shared_servers=4
sql_trace=TRUE
undo_management='AUTO'
undo_tablespace='UNDO'
user_dump_dest='C:\oraclexe\app\oracle\admin\test\udump'
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
- 219 -
20. WYBRANE ZMIENNE PLIKU PARAMETRÓW
- 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”
20. WYBRANE ZMIENNE PLIKU PARAMETRÓW
NAZWA PARAMETRU
TIMED_STATISTICS
MAX_DUMP_FILE_SIZE
GLAOBAL_NAMES
- 221 -
OPIS
Wáącza lub wyáącza pomiar czasu (wykorzystywany w statystykach systemowych).
Maksymalny rozmiar plików Ğladu wyraĪony w blokach systemu operacyjnego.
Sprawdza czy link bazy danych ma taką samą nazwĊ jak baza danych.
TRUE – sprawdzanie wáączone, FALSE – sprawdzanie wyáączone.
ORACLE_TRACE_ENABLE Zezwala na zbieranie statystyk systemowych narzĊdziu Oracle Trace (uwaga ten parametr nie
wáącza Ğledzenia) (AUDIT_TRAIL).
USER_DUMP_DEST
Lokalizacja plików Ğladu tworzonych przez procesy uĪytkownika.
BACKGROUND_DUMP_DEST Lokalizacja plików Ğladu procesów drugoplanowych oraz lokalizacja plików alertów.
DB_BLOCK_SIZE
Rozmiar bloku bazy danych – wyraĪony w bajtach
REMOTE_LOGIN
Uruchamia autoryzacjĊ poprzez plik haseá.
_PASSWORDFILE
NONE – brak autoryzacji poprzez plik haseá
EXCLUSIVE – wáączona autoryzacja poprzez plik haseá
SORT_AREA_SIZE
Wskazuje ile pamiĊci w PGA (w bajtach) ma zostaü zarezerwowane na wykonywanie sortowaĔ.
SESSIONS
Maksymalna liczba jednorazowych sesji systemowych i uĪytkowników.
TRANSACTION
Maksymalna liczba jednoczesnych transakcji.
SQL_TRACE
Podawany w pliku parametrów powoduje wáączenie zapisu do plików Ğladu informacji na temat
realizowanych poleceĔ SQL. Informacje o báĊdach zapisywane są niezaleĪnie od wartoĞci tego
parametru. TRUE/FALSE
TIMED_STATISTICS
Podawany w pliku parametrów powoduje wáączenie generowania statystyki dotyczącej iloĞci
czasu potrzebnego do wykonania poleceĔ.TRUE/FALSE
LOG_ARCHIVE_START
Automatyczne archiwizowanie.
LOG_ARCHIVE_FORMAT
Format nazwy plików archiwum.
LOG_ARCHIVE_DEST
Miejsce archiwizowania plików rejestru.
UNDO_MANAGEMENT
Metoda zarządzania wycofywaniem transakcji.
RESOURCE_LIMIT
Wáączenie kontroli limitów zdefiniowanych przez profile.
OPTIMIZAL_MODE
Parametr ten moĪe przyjąü nastĊpujące wartoĞci: RULE, CHOOSE, FIRST_ROWS, ALL_ROWS.
…
…
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
- 223 -
Polecenia z grupy DDL (np. Create, Alter, Drop Table) oraz polecenia z grupy DCL
(Grant, Revoke) koĔczą siĊ niejawnym zatwierdzeniem transakcji.
§ 21.2. Tryby w jakich moĪe pracowaü transakcja
Transakcje mogą byü prowadzone w jednym z trzech trybów: Read Committed, Read Only lub
Serializable.
Do ustawiania trybu pracy transakcji sáuĪy polecenie:
SQL> SET TRANSACTION
{ READ ONLY| ISOLATION LEVEL {SERIALIZABLE | READ COMMITTED}
NAME nazwa;
21.2.1. Tryb READ COMMITTED
x
x
Wszystkie transakcje w Systemie Oracle wykonywane są domyĞlnie w tym trybie.
Transakcja T1 widzi dane zmodyfikowane przez transakcjĊ T2 dopiero po jej zatwierdzeniu
poleceniem COMMIT.
Polecenie umoĪliwiające przestawienie pojedynczej transakcji w tryb Read Commited:
SET TRANSACTION ISOLATION LEVEL Read Committed;
Uwaga. Polecenie naleĪy wykonaü jako pierwsze w ramach transakcji.
Polecenie umoĪliwiające ustawienie trybu Read Commited dla wszystkich transakcji realizowanych w
ramach danej sesji:
SQL> ALTER SESSION SET ISOLATION_LEVEL=Read Committed;
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:
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
- 225 -
ALTER SESSION SET ISOLATION_LEVEL= Serializable;
Uwaga. Polecenie naleĪy wykonaü jako pierwsze w ramach sesji.
Tryb Serializable moĪe byü wáączony na staáe poprzez ustawienie w pliku parametrów
Init<SID>.ora parametru SERIALIZABLE=TRUE.
DomyĞlnie jego wartoĞü wynosi FALSE co oznacza, Īe wszystkie transakcje są realizowane w trybie
Read Committed;
§ 21.3. Mechanizm blokowania danych
W systemie Oracle stosowana jest metoda blokowania.
Blokady zakáadane są na czas trwania transakcji.
Dwie blokady są ze sobą zgodne jeĪeli mogą byü zaáoĪone na tĊ samą daną przez wiele transakcji.
Blokowanie moĪe dotyczyü:
x tabeli (table lock),
x rekordu (row lock).
Blokowanie caáej tabeli zmniejsza stopieĔ wspóábieĪnoĞci transakcji, uáatwiając zarządzanie blokadami
i szybsze wykrywanie związanych z nimi konfliktów.
Blokowanie caáej tabeli powoduje, Īe blokada dotyczy wszystkich jej rekordów a co za tym idzie system
nie musi blokowaü kaĪdego z nich oddzielnie.
Sposób zakáadania blokad zaleĪy od ustawienia parametrów:
SERIALIZABLE = False
ROW_LOCKING = Always
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
21. WSPÓàBIEĩNOĝû W SYSTEMIE ORACLE
- 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:
Brak
Brak TAK
RS TAK
RX TAK
S TAK
SRX TAK
X 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”
21. WSPÓàBIEĩNOĝû W SYSTEMIE ORACLE
- 227 -
21.3.2. Jawne zaáoĪenie blokady na tabeli
Blokady mogą byü naáoĪone na rekordy lub tabele w nastĊpujący sposób:
x niejawny - w momencie wykonywania operacji modyfikujących dane,
x jawny – naáoĪenie blokady nastĊpuje po wydaniu polecenia LOCK TABLE.
Do jawnego zaáoĪenia blokady na tabeli sáuĪy nastĊpujące polecenie:
SQL> LOCK TABLE nazwa_tabeli IN tryb MODE;
gdzie:
tryb – oznacza rodzaj blokady, podany peáną nazwą.
21.3.3. WáaĞciwoĞci blokad
WàAĝCIWOĝCI BLOKADY RS (ROW SHARE)
Zakáadana jest w intencji póĨniejszego zmodyfikowania rekordów, uniemoĪliwia zmianĊ zawartoĞci
rekordów przez inne transakcje.
Jej zaáoĪenie nastĊpuje automatycznie przy realizacji polecenia:
SQL> SELECT lista_atrybutów FROM nazwa_tabeli
WHERE warunek_selekcji FOR UPDATE [NOWAIT];
UĪycie NOWAIT powoduje, Īe polecenie zostanie automatycznie przerwane, jeĪeli nie moĪna zaáoĪyü
blokady RS ze wzglĊdu na istnienie innej blokady z nią niezgodnej.
WàAĝCIWOĝCI BLOKADY RX (ROW EXCLUSIVE)
Zakáadana jest automatycznie w przypadku realizacji poleceĔ DELETE, INSERT, UPDATE.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
21. WSPÓàBIEĩNOĝû W SYSTEMIE ORACLE
- 228 -
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)
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
z widoków V$SESSION oraz SYS.OBJ$.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
21. WSPÓàBIEĩNOĝû W SYSTEMIE ORACLE
- 229 -
Przykáad 21.4.1. Przykáad skáadni SELECT wyĞwietlającej informacje o zaáoĪonych blokadach:
SELECT s.sid, s.serial#, s.username, l.type, o.name,
DECODE(L.LMODE,0,’BRAK’,2,’RS’,3,’RX’,4,’S’,5,’SRX’,6,’X’,L.LMODE)
AS TYP_BLOKADY,
DECODE(l.request,0,’brak’,2,’rs’,3,’rx’,4,’s’,5,’srx’,6,’x’,
L.REQUEST)AS TYP_BLOKADY_OCZEKUJACEJ,
s.status, s.osuser, s.machine, s.program
FROM v$session s, v$lock l, sys.obj$ o
WHERE s.sid=l.sid AND l.id1=o.obj#(+);
W wyniku realizacji powyĪszej skáadni w kolumnie typ_blokady uzyskamy typ zaáoĪonej blokady
a w kolumnie typ_blokady_oczekujacej typ blokady oczekującej na zaáoĪenie.
W kolumnie TYPE wartoĞü TM oznacza blokadĊ tabeli natomiast TX blokadĊ rekordu.
Pozostaáe kolumny to:
USERNAME
NAME
SID
STATUS
OSUSER
MACHINE
PROGRAM
- nazwa uĪytkownika bazy danych
- nazwa obiektu którego dotyczą blokady
- numer sesji
- status sesji uĪytkownika
- nazwa uĪytkownika w systemie operacyjnym
- nazwa komputera z którego uĪytkownik doáączyá siĊ do bazy danych
- nazwa programu za pomocą którego uĪytkownik doáączyá siĊ do bazy
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
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
- 231 -
Metoda ta posiada jednak dwie wady:
x
zmniejsza stopieĔ wspóábieĪnoĞci (transakcja, która próbuje zaáoĪyü blokady niezgodne
z blokadami juĪ zaáoĪonymi przez inną transakcjĊ, musi czekaü na zdjĊcie blokad);
x
wprowadza moĪliwoĞü wystąpienia zakleszczenia (deadlock), kiedy dwie transakcje blokują
sobie wzajemnie zasoby. Wówczas Īadna z transakcji nie moĪe kontynuowaü pracy.
System Oracle wykrywa zakleszczenie i rozwiązuje je wykorzystując pewien algorytm wyboru tej
transakcji, która zostanie przerwana, tj. jej ostatnie polecenie zostanie przerwane, wycofane.
Przykáad 21.5.1. Przykáad wystąpienia zakleszczenia.
Pierwsza sesja:
CONNECT hr/hr
Druga sesja:
CONNECT hr/hr
SET TRANSACTION NAME 'T1';
SELECT * FROM REGIONS FOR UPDATE;
SET TRANSACTION NAME 'T2';
SELECT * FROM REGIONS FOR UPDATE;
SELECT * FROM LOCATIONS FOR UPDATE;
SELECT * FROM LOCATIONS FOR UPDATE;
SELECT * FROM REGIONS FOR UPDATE;
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:
ORA-…….: deadlock detected while waiting for resource
Algorytm wyboru transakcji do przerwania nie zostaá wyspecyfikowany w dokumentacji Oracle.
§ 21.6. Rola administratora
x
Monitorowanie transakcji wszystkich uĪytkowników.
x
ZamkniĊcie wybranych sesji, których transakcje powodują zakleszczenie lub nadmierne
obciąĪenie systemu.
x
SQL> ALTER SYSTEM KILL SESSION (SID, SERIAL#);
Sugerowanie zmian w transakcjach powodujących spadek wydajnoĞci systemu.
x
Ustawianie parametru Serializable:
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.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
22. ARCHIWIZACJA BAZY DANYCH
- 233 -
22. ARCHIWIZACJA BAZY DANYCH
§ 22.1. Podstawowe reguáy sporządzania kopii bezpieczeĔstwa
Zalecenia:
x Wykonywanie kopii plików bazy danych najpierw na dysk, a dopiero potem na inny noĞnik.
x
Utrzymywanie wielu kopii pliku kontrolnego, z których kaĪda powinna byü umieszczona na
odrĊbnym dysku.
x
Archiwizowanie plików dziennika powtórzeĔ najpierw na dysk, a potem na inny noĞnik.
x
Zarchiwizowane pliki dziennika powtórzeĔ powinno siĊ przechowywaü na innym dysku niĪ
aktywne (online) pliki dziennika.
x
Po kaĪdorazowej zmianie struktury bazy danych, tj. dodaniu, zmianie bądĨ usuniĊciu pliku
danych lub dziennika powtórzeĔ naleĪy sporządziü kopie archiwalną pliku kontrolnego.
§ 22.2. Rodzaje archiwizacji
x
Archiwizacja fizyczna (physical backup) - polega na sporządzaniu kopii plików bazy danych za
pomocą polecenie systemu operacyjnego.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
22. ARCHIWIZACJA BAZY DANYCH
x
- 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.
Tryby pracy bazy:
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
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:
SQL> SELECT status, enabled, name FROM v$datafile;
SQL> SELECT * FROM V$LOGFILE;
SQL> SELECT * FROM V$CONTROLFILE;
2. Zatrzymaü instancjĊ.
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
- 235 -
4. Uruchomiü instancjĊ.
SQL> STARTUP
§ 22.4. Archiwizacja fizyczna caáej bazy danych w trybie ONLINE
Archiwizacja ta jest moĪliwa tylko, gdy baza pracuje w trybie archiwizacji plików dziennika powtórzeĔ
(ARCHIVELOG).
Przed sporządzeniem fizycznej kopii plików skáadającą siĊ na wybraną przestrzeĔ tabel naleĪy wydaü
polecenie
SQL> ALTER TABLESPACE nazwa_przestrzeni BEGIN BACKUP;
NaleĪy je wydaü w programie SQL*Plus w czasie, gdy baza pracuje w trybie MOUNT lub OPEN.
Po zrobieniu kopii fizycznych plików wchodzących w skáad tej przestrzeni tabel naleĪy wydaü polecenie
SQL> ALTER TABLESPACE nazwa_przestrzeni END BACKUP;
NaleĪy równieĪ zrobiü kopie pliku kontrolnego i wszystkich zarchiwizowanych plików dziennika
powtórzeĔ.
§ 22.5. Archiwizacja logiczna
Do wykonania archiwizacji logicznej sáuĪy program Exp. Do pracy wymaga on dodatkowych obiektów
systemowych. Obiekty te tworzone są za pomocą skryptu catexp.sql, muszą byü wáasnoĞcią
uĪytkownika SYS.
W systemie Oracle mogą byü eksportowane:
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
22. ARCHIWIZACJA BAZY DANYCH
- 236 -
x Pojedyncze tabele.
x Wszystkie obiekty okreĞlonych uĪytkowników.
x Caáa baza danych.
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.
MoĪe to byü wykonane w trzech trybach:
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
22. ARCHIWIZACJA BAZY DANYCH
x
inkrementalnym,
x
kumulacyjnym,
x
peánym.
- 237 -
Rodzaje eksportu:
x
Eksport kompletny jest równowaĪny eksportowi caáej bazy danych. Dodatkowo wykonanie tego
eksportu powoduje usuniĊcie informacji systemowych związanych z kaĪdą tabelą bazy danych,
a dotyczących kolejnych eksportów inkrementalnych i kumulacyjnych.
x
Eksport kumulacyjny umoĪliwia sporządzenie peánych kopii tych tabel, których zawartoĞü bądĨ
definicja zostaáy zmienione od czasu wykonania ostatniego eksportu kumulacyjnego lub peánego.
Oznacza to, Īe kopie danych sporządzone za pomocą wczeĞniejszych eksportów inkrementalnych
są juĪ niepotrzebne.
x
Eksport inkrementalny umoĪliwia sporządzenie peánych kopii tych tabel, których zawartoĞü
bądĨ definicja zostaáy zmienione od czasu wykonania ostatniego eksportu inkrementalnego,
kumulacyjnego lub peánego.
Procedura
sporządzania
kopii
zawartoĞci
caáej
bazy
danych
inkrementalnych, kumulacyjnych i peánych moĪe byü np. nastĊpująca:
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
z wykorzystaniem
eksportów
22. ARCHIWIZACJA BAZY DANYCH
- 238 -
x
Wykonanie początkowego eksportu kompletnego bazy danych.
x
Wykonanie eksportów inkrementalnych pod koniec kaĪdego dnia.
x
Wykonanie eksportów kumulacyjnych okresowo, np. co tydzieĔ.
x
Wykonanie kompletnego eksportu okresowo np. co miesiąc.
§ 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)
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
22. ARCHIWIZACJA BAZY DANYCH
- 239 -
22.6.2. Eksport kont kilku uĪytkowników
c:\exp PARFILE=c:\exp_hr2.par
gdzie plik exp_hr2.par jest postaci:
USERID=system@xe
FILE=c:\hr2.dmp
LOG=c:\hr2.log
OWNER=(hr,u1)
ROWS=N
22.6.3. Eksport wybranych tabel
c:\exp PARFILE=c:\exp_hr3.par
gdzie plik exp_hr3.par jest postaci:
USERID=system@xe
FILE=c:\hr3.dmp
LOG=c:\hr3.log
TABLES=(hr.jobs,hr.regions)
GRANTS=N
/* Bez przywilejów */
22.6.4. Eksport caáej bazy - kompletny
Do
eksportu
i importu
i IMP_FULL_DATABASE.
caáej
bazy
trzeba
c:\exp PARFILE=c:\exp_xe.par
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
posiadaü
role
EXP_FULL_DATABASE
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
/* 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
/* 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
- 241 -
- OkreĞla nazwy uĪytkowników, których obiekty bĊdą eksportowane. Przykáadowo, parametr
OWNER=(u1,u2) umoĪliwi wyeksportowanie wszystkich obiektów uĪytkowników u1,u2. Prawo do
eksportowania innych uĪytkowników posiada administrator bazy danych.
TABLES
- OkreĞla zbiór tabel, które bĊdą wyeksportowane. TABLES=(u1.pracownicy, u2.studenci).
ROWS
- WartoĞü Y (domyĞlna) powoduje wyeksportowanie definicji wraz z jej zawartoĞcią, N – tylko definicja.
INDEXES
- WartoĞü Y (domyĞlna) powoduje wyeksportowanie indeksów związanych z eksportowanymi tabelami.
N – indeksy nie są eksportowane.
CONSTRAINTS - WartoĞü Y (domyĞlna) powoduje wyeksportowanie ograniczeĔ integralnoĞciowych.
W przypadku N nie bĊdą one eksportowane.
GRANTS
- WartoĞü Y (domyĞlna) powoduje wyeksportowanie przywilejów związanych z eksportowanymi tabelami.
COMPRESS
- WartoĞü Y (domyĞlna) powoduje, Īe w czasie importowania tabeli jej rekordy zostaną umieszczone
w jednym rozszerzeniu. Rozmiar tego rozszerzenia zostanie tak dobrany, aby byá on jak najmniejszy
i jednoczeĞnie wystarczający do umieszczenia w nim caáej zawartoĞci tabeli. WartoĞü N powoduje, Īe
w czasie importowania tabeli jej rekordy zostaną umieszczone w jednym rozszerzeniu równym sumie
rozmiarów rozszerzeĔ dotychczas zajmowanych przez tabelĊ.
CONSISTENT - WartoĞü Y zapewnia, Īe w caáym pliku eksportu znajdą siĊ dane spójne. Parametr ten ma znaczenie, jeĞli
w trakcie dokonywania eksportu inni uĪytkownicy modyfikują dane. WartoĞü CONSISTENT=Y powoduje,
Īe przed rozpoczĊciem eksportowania system wykonuje polecenie set transaction read only.
WartoĞü N nie zapewnia spójnoĞci wszystkich eksportowanych danych. Parametru CONSISTENT nie
moĪna stosowaü dla eksportów inkrementalnych.
INCTYPE
- OkreĞla tryb eksportu: COMPLETE, CUMULATIVE, INCREMENTAL. Eksport w tych trybach moĪna
wykonywaü tylko dla FULL=Y.
LOG
- Wskazuje plik, do którego zostaną zapisane informacje o przebiegu eksportu.
REKORD
- WartoĞü Y (domyĞlna) oznacza, Īe informacje o eksportach inkrementalnych i kumulacyjnych bĊdą
zapisywane w tabelach: SYS.INCVID, SYS.INCFIL, SYS.INCEXP.
PARFILE
- Wskazuje plik z parametrami eksportu.
HELP
- UmoĪliwia wyĞwietlenie opisu parametrów.
OWNER
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
22. ARCHIWIZACJA BAZY DANYCH
- 242 -
§ 22.7. Odtwarzanie bazy danych w trybie NOARCHIVELOG
22.7.1. Wczytanie peánej kopii archiwalnej
Procedura jest nastĊpująca:
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.
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”
22. ARCHIWIZACJA BAZY DANYCH
- 243 -
gdzie plik imp_xe.par jest postaci:
USERID=system@xe
BUFFER=4096
FILE=c:\hr1.dmp
LOG=c:\imp_xe.log
FROMUSER=(HR)
TOUSER=(U1)
ROWS=Y
GRANTS=N
COMMIT=Y
lub
USERID=system@xe
BUFFER=4096
FILE=c:\hr1.dmp
LOG=c:\imp_xe.log
FROMUSER=(HR)
TOUSER=(U1)
TABLES=(jobs,regions)
ROWS=N
GRANTS=N
INDEXES=N
/* Z danymi */
/* Bez przywilejów */
/* Zatwierdzanie po peánym buforze */
/* Wybrane tabele */
/* Bez danych */
/* Bez przywilejów */
/* Bez indeksów */
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
22. ARCHIWIZACJA BAZY 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:
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”
22. ARCHIWIZACJA BAZY DANYCH
IGNORE
- 245 -
- OkreĞla sposób reagowania na báĊdy powstające podczas importu danych wynikające z istnienia obiektu
w bazie danych. JeĪeli parametr przyjmie wartoĞü Y, a importowane są definicje obiektów juĪ istniejących, to
program nie tworzy ponownie tych obiektów, lecz je pomija nie wyĞwietlając informacji o báĊdach. W tabelach
tych mogą siĊ pojawiü zduplikowane rekordy, jeĞli nie miaáy one zaáoĪonych ograniczeĔ integralnoĞciowych:
unique i primary key. W przypadku wartoĞci N próba wczytania obiektu juĪ istniejącego zakoĔczy siĊ
niepowodzeniem i wyĞwietleniem informacji o báĊdzie.
FULL
- WartoĞü Y powoduje import caáej bazy danych, natomiast N (wartoĞü domyĞlna) umoĪliwia importowanie
obiektów wybranych uĪytkowników lub okreĞlonych tabel. Importu caáej bazy moĪe dokonaü uĪytkownik
z uprawnieniami IMP_FULL_DATABASE.
FROMUSER - OkreĞla zbiór uĪytkowników, których obiekty zostaną wczytane.
TOUSER
- OkreĞla zbiór uĪytkowników, do których schematów dane zostaną wczytane. OpcjĊ tĊ moĪe wykorzystaü
uĪytkownik posiadający rolĊ IMP_FULL_DATABASE
TABLES
- OkreĞla zbiór tabel, które zostaną zaimportowane.
ROWS
- WartoĞü Y (domyĞlna) powoduje wczytanie definicji tabel wraz z danymi.
INDEXES
- WartoĞü Y powoduje wczytanie indeksów związanych z importowanymi tabelami.
GRANTS
- WartoĞü Y powoduje wczytanie informacji o przywilejach związanych z importowanymi tabelami.
COMMIT
- WartoĞü Y powoduje, Īe po wczytaniu do bazy danych bloku informacji o wielkoĞci okreĞlonej BUFFER
system zatwierdzi transakcjĊ. Natomiast N powoduje, Īe dane zatwierdzane są po wczytaniu caáej tabeli.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
22. ARCHIWIZACJA BAZY DANYCH
- 246 -
DESTROY
- WartoĞü Y powoduje nadpisanie istniejących przestrzeni tabel definicjami zawartymi w importowanym pliku.
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.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
- 247 -
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
§ 23.1. WstĊp
Przykáad polecenia tworzącego bazĊ xxxx (w trybie NOMOUNT):
CREATE DATABASE xxxx
CONTROLFILE REUSE
LOGFILE
GROUP 1 ('c:/oraclexe/oradata/xxxx/redo11.log',
'c:/oraclexe/oradata/xxxx/redo12.log')
GROUP 2 ('c:/oraclexe/oradata/xxxx/redo21.log',
'c:/oraclexe/oradata/xxxx/redo22.log')
GROUP 3 ('c:/oraclexe/oradata/xxxx/redo31.log',
'c:/oraclexe/oradata/xxxx/redo32.log')
MAXLOGFILES 32
MAXDATAFILES 15
ARCHIVELOG
CHARACTER SET EE8MSWIN1250
NATIONAL CHARACTER SET AL16UTF16
DATAFILE 'c:/oraclexe/oradata/xxxx/system01.dbf'
SIZE 30M,
SIZE 30M,
SIZE 30M
SIZE 200M
AUTOEXTEND ON
DEFAULT TEMPORARY TABLESPACE tempts1 TEMPFILE
'c:/oraclexe/oradata/xxxx/temp01.dbf' SIZE 200M REUSE
UNDO TABLESPACE undo DATAFILE
'c:/oraclexe/oradata/xxxx/undo01.dbf' SIZE 200M REUSE AUTOEXTEND
ON NEXT 512K MAXSIZE UNLIMITED
SYSAUX
DATAFILE 'c:\oraclexe\oradata\test\sysaux.dbf'
SIZE 200M REUSE AUTOEXTEND ON NEXT 512K MAXSIZE UNLIMITED;
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
…
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.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”
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
- 249 -
1. Baza danych w trybie bez archiwizacji (NOARCHIVELOG)
Zatwierdzone zmiany w bazie zapisywane są cyklicznie do plików REDO.
Redo11.log
Redo21.log
Redo31.log
Redo21.log
Redo22.log
Redo32.log
Rysunek 23.1.2. Pliki Redo w trybie NOARCHIVELOG.
W przypadku zapeánienia wszystkich plików nastĊpuje nadpisywanie i w ten sposób moĪna
ewentualnie powróciü do danych do okreĞlonego momentu.
2. Baza danych w trybie z archiwizacją ( ARCHIVELOG)
Zatwierdzone zmiany w bazie zapisywane są cyklicznie do plików REDO.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
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
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.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
- 251 -
§ 23.2. Dodawanie plików dziennika powtórzeĔ w czasie pracy bazy:
Dodawanie grupy:
SQL> ALTER DATABASE
ADD LOGFILE GROUP numer_grupy
(’nazwa_pliku’, ’nazwa_pliku’…..) SIZE rozmiar;
Np.
SQL> ALTER DATABASE ADD LOGFILE GROUP 4
('c:/oraclexe/oradata/xxxx/redo41.log',
'c:/oraclexe/oradata/xxxx/redo42.log') SIZE 30M;
MoĪna dodawaü pliki do grupy poleceniem:
SQL> ALTER DATABASE
ADD LOGFILE (’nazwa_pliku’,’nazwa_pliku’….) TO GROUP numer_grupy;
Np.
SQL> ALTER DATABASE
ADD LOGFILE ('c:/oraclexe/oradata/xxxx/redo43.log') TO GROUP 4;
§ 23.3. Archiwizowanie plików dziennika powtórzeĔ
Informacje o trybie pracy instancji moĪna uzyskaü poleceniem
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
Tryb archiwizacji
Wyáączona
Automatyczna archiwizacja
Miejsca archiwizowania
c:\oraclexe\archiwum
...
lub w tabeli systemowej V$DATABASE.
23.3.1. Archiwizacja automatyczna
W pliku initxxxx.ora musi znajdowaü siĊ wpis:
LOG_ARCHIVE_START=TRUE
???? (przestarzaáy)
lub w czasie, kiedy instancja jest otwarta:
SQL> CONNECT system@xxxx AS SYSDBA
SQL> ALTER SYSTEM ARCHIVE LOG START;
lub
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”
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
SQL> STARTUP MOUNT
SQL> ALTER DATABASE NOARCHIVELOG;
SQL> SHUTDOWN
Zmiana w pliku initxxxx.ora na LOG_ARCHIVE_START=FALSE
SQL> STARTUP
Na otwartej instancji archiwizacjĊ moĪna wyáączyü poleceniem:
SQL> ALTER SYSTEM ARCHIVE LOG STOP;
23.3.3. Archiwizowanie dziennika powtórzeĔ przez administratora
Instancja musi dziaáaü w trybie ARCHIVELOG, co moĪna uzyskaü nastĊpującymi poleceniami:
SQL> CONNECT system@xxxx AS SYSDBA
SQL> SHUTDOWN
SQL> STARTUP MOUNT EXCLUSIVE
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
Postaü polecenia:
SQL> ALTER SYSTEM ARCHIVE LOG {ALL | LOGFILE ’nazwa_pliku’
| CURRENT | GROUP numer}
[TO katalog];
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
- 253 -
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
- 254 -
§ 23.4. Mechanizm wykrywania awarii bazy danych
23.4.1. System Change Number (SCN)
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)
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.
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Ą
- 255 -
x Wykonane zostanie polecenie:
SQL> SHUTDOWN NORMAL
lub
SQL> SHUTDOWN IMMEDIATE
x Inne.
Punkt kontrolny pliku danych (datafile checkpoint) wystĊpuje, gdy:
x Rozpoczyna siĊ sporządzanie kopi bezpieczeĔstwa wybranych przestrzeni tabel
SQL> ALTER TABLESPACE nazwa_przestrzeni BEGIN BACKUP;
x Po
SQL> ALTER TABLESPACE nazwa_przestrzeni OFFLINE;
x Inne.
23.4.3. Pliki kontrolne
W pliku kontrolnym i w nagáówku kaĪdego pliku danych są przechowywane m.in. informacje:
x Numer SCN w czasie wystąpienia punktu kontrolnego (checkpoint at scn, stop scn).
x Data i czas SCN.
x Licznik punktu kontrolnego (checkpoint counter).
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
- 256 -
Plik kontrolny (control file ) jest plikiem binarnym, który zawiera m.in.:
x NazwĊ bazy danych.
x DatĊ utworzenia bazy.
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, …).
x Informacje dotyczące punktów kontrolnych.
x …
23.4.4. Wykrywanie awarii
NAGàÓWEK PLIKU DANYCH
Nagáówek pliku danych przechowuje m.in.:
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Ą
- 257 -
NAGàÓWEK PLIKU KONTROLNEGO
Nagáówek pliku kontrolnego przechowuje dla kaĪdego pliku danych m.in.:
x
Informacje o koĔcowym SCN (stop scn). W czasie pracy instancji wartoĞü ta jest równa
0xFFFF.FFFFFFFF.
x
BieĪący numer SCN punktu kontrolnego (scn).
x
Licznik punktów kontrolnych (Checkpoint cnt).
WYKORZYSTANIE INFORMACJI Z NAGàÓWKÓW PLIKÓW DANYCH I KONTROLNYCH W CZASIE
ODTWARZANIA BAZY DANYCH.
a) W wypadku, gdy instancja zostanie zamkniĊta w trybie NORMAL lub IMMEDIATE to punkt kontrolny
zostanie wykonany. Wtedy
Stop scn = Checkpointed at scn
dla wszystkich plików danych.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
- 258 Users01.dbf
Controlfile01.ora
Checkpoint cnt=4
Chkpt cnt=4
Stop scn=0xffff.ffffffff
Checkpointed at scn=0x0000.00001ba2
Operacja SHUTDOWN
lub SHUTDOWN IMMEDIATE
Checkpoint cnt=5
Chkpt cnt=5
Stop scn=0x0000.00001ba3
Checkpointed at scn=0x0000.00001ba3
Rysunek 23.4.1. Punkty kontrolne
Oznacza to, Īe baza danych nie wymaga odtwarzania. Po otwarciu Stop scn przyjmuje znowu wartoĞü
0xffff.ffffffff dla wszystkich plików danych.
b) W wypadku, gdy baza danych zostanie zamkniĊta w trybie ABORT punkt kontrolny nie zostanie
wykonany. Oznacza to, Īe
Stop scn <> Checkpointed at scn
dla wszystkich plików danych.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
- 259 Users01.dbf
Controlfile01.ora
Checkpoint cnt=4
Chkpt cnt=4
Stop scn=0xffff.ffffffff
Checkpointed at scn=0x0000.00001ba2
Operacja SHUTDOWN ABORT
Checkpoint cnt=4
Chkpt cnt=4
Stop scn=0xffff.ffffffff
Checkpointed at scn=0x0000.00001ba2
Rysunek 23.4.2. Punkty kontrolne
Oznacza to, Īe
x JeĪeli plik danych nie zostanie wczytany z kopi bezpieczeĔstwa to naleĪy dokonaü operacji
odtwarzania zmian z plików dziennika powtórzeĔ.
x
JeĪeli plik danych zostanie wczytany z kopi bezpieczeĔstwa to nie bĊdzie siĊ zgadzaáa wartoĞü
licznika punktów kontrolnych (chkpt cnt) w pliku danych z odpowiadającą wartoĞcią w pliku
kontrolnym.
NiezgodnoĞü ta bĊdzie wykryta przy starcie bazy. Wówczas zgáoszona zostanie przez system
koniecznoĞü odtworzenia bazy danych ( z zarchiwizowanych plików dziennika powtórzeĔ).
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
23. ZABEZPIECZENIE BAZY DANYCH PRZED AWARIĄ
- 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).
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
24. ODTWARZANIE BAZY DANYCH PO AWARII
- 261 -
24. ODTWARZANIE BAZY DANYCH PO AWARII
§ 24.1. Rodzaje odtwarzania
W trybie NOARCHIVELOG – umoĪliwia odtwarzanie z kopii archiwalnej do momentu sporządzenia
kopii.
W trybie ARCHIVELOG:
x
Odtwarzanie peáne (full recovery)
– do stanu przed awarią.
x
Odtwarzanie niepeáne (partial recovery)
– do okreĞlonego stanu przed awarią.
§ 24.2. Odtwarzanie bazy danych w trybie NOARCHIVELOG
Wczytanie peánej kopii archiwalnej:
SQL> SHUTDOWN lub SHUTDOWN ABORT
Wgranie wszystkich plików bazy danych z ostatniej kopii bezpieczeĔstwa na ich wáaĞciwe miejsce:
SQL> STARTUP
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
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”
24. ODTWARZANIE BAZY DANYCH PO AWARII
- 263 -
24.3.3. Odtwarzanie peáne pojedyĔczego pliku danych
NaleĪy wydaü polecenie:
SQL> RECOVER [AUTOMATIC] [FROM ’scieĪka_log’] DATAFILE plik,…,plik;
24.3.4. Odtwarzanie bazy danych w przypadku utraty systemowej przestrzeni tabel
KolejnoĞü postĊpowania:
SQL> CONNECT sys AS SYSDBA
SQL> SHUTDOWN
Wgraü wszystkie pliki uszkodzonej przestrzeni z kopii archiwalnej
SQL> STARTUP MOUNT
SQL> RECOVER DATABASE;
SQL> ALTER DATABASE OPEN [RESETLOGS];
24.3.5. Odtwarzanie bazy danych do okreĞlonego momentu w czasie
Postaü polecenia:
SQL> RECOVER [AUTOMATIC] [FROM ’scieĪka_log’] DATABASE
UNTIL TIME ‘YYYY-MM-DD:HH24:MI:SS’
[USING BACKUP CONTROLFILE];
KolejnoĞü postĊpowania:
SQL> CONNECT sys AS SYSDBA
SQL> SHUTDOWN
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
24. ODTWARZANIE BAZY DANYCH PO AWARII
- 264 -
Wgranie plików danych z kopi archiwalnej.
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*/
24.3.6. Odtwarzanie bazy danych do przerwania
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”
25. RMAN – RECOVERY MANAGER
- 265 -
25. RMAN – RECOVERY MANAGER
W trybie offline kopie robi siĊ nastĊpująco:
C:\rman
Recovery Manager: Release 10.2.0.1.0 - Production on So Maj 12 02:52:09 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
RMAN>
RMAN> connect target
connected to target database: XE (DBID=2503361492)
RMAN> SHUTDOWN IMMEDIATE
using target database control file instead of recovery catalog
database closed
database dismounted
Oracle instance shut down
RMAN> STARTUP MOUNT
connected to target database (not started)
Oracle instance started
database mounted
Total System Global Area
Fixed Size
Variable Size
Database Buffers
Redo Buffers
285212672
1287016
117443736
163577856
2904064
bytes
bytes
bytes
bytes
bytes
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
25. RMAN – RECOVERY MANAGER
- 266 -
RMAN> BACKUP DATABASE FORMAT 'c:\rmanbac\rman_%d_%t_%U.bus';
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
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
25. RMAN – RECOVERY MANAGER
- 267 -
W trybie online kopie robi siĊ takim samym poleceniem z tym tylko, Īe baza musi byü w trybie
ARCHIVELOG. Kopie wykonuje siĊ poleceniem:
RMAN> BACKUP DATABASE FORMAT 'c:\rmanbac\rman_%d_%t_%U.bus';
lub do katalogu domyĞlnego z domyĞlną nazwą plików poleceniem:
RMAN> BACKUP DATABASE;
§ 25.1. Tworzenie kopii zapasowej przestrzeni tabel
MoĪliwoĞü podawania jedynie podzbioru przestrzeni tabel podczas procesu archiwizacji danych zwieksza
zakres moĪliwych strategii tworzenia kopii zapasowych. Kopie wykonuje siĊ poleceniem:
RMAN> BACKUP TABLESPACE system, users FORMAT
'c:\rmanbac\rman_%d_%t_%U.bus';
lub do katalogu domyĞlnego z domyĞlną nazwą plików poleceniem:
RMAN> BACKUP TABLESPACE system, users;
§ 25.2. Tworzenie kopii zapasowej plików danych
Pliki danych moĪna archiwizowaü przez podanie ich numerów lub nazw.
Skáadnia polecenia jest nastĊpujaca:
RMAN> BACKUP DATAFILE 1,2;
RMAN> BACKUP DATAFILE ‘c:\oraclexe\oradata\users.dbf’;
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
25. RMAN – RECOVERY MANAGER
- 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”
25. RMAN – RECOVERY MANAGER
- 269 -
§ 25.5. RESTORE (Odtwarzanie) i RECOVER (rekonstrukcja)
Uruchomienie programu RMAN i ustanowienie poáączenia z docelową bazą danych.
RMAN> CONNECT target
Wywoáanie odpowiedniego polecenia RESTORE programu RMAN w celu przywrócenia wymaganych
plików.
Odtwarzane są pliki wymagane oraz odpowiednie archiwalne pliki dziennika powtórzeĔ.
Po odtworzeniu potrzebnych plików naleĪy zrekonstruowaü (recover) bazĊ danych oraz ją otworzyü.
Rekonstrukcji bazy danych moĪna dokonaü z poziomu programu RMAN lub z narzĊdzia SQL*Plus.
Przykáad 25.5.1. W poniĪszym przykáadzie pokazano sposób odtwarzania i rekonstrukcji przestrzeni
tabel USERS:
RMAN> RESTORE TABLESPACE users;
RMAN> RECOVER TABLESPACE users;
Oprócz przestrzeni tabel moĪna odtworzyü i zrekonstruowaü konkretny plik danych:
RMAN> RESTORE DATAFILE 'c:\oraclexe\backupxe\users.dbf';
RMAN> RECOVER DATAFILE 'c:\oraclexe\backupxe\users.dbf';
Po wydaniu polecenia RECOVER z poziomu programu RMAN w pierwszej kolejnoĞci nastĊpuje
sprawdzenie dostĊpnoĞci potrzebnych archiwalnych plików dziennika powtórzeĔ.
JeĞli te pliki są niedostĊpne, program RMAN przywraca je za pomocą wczeĞniej utworzonej kopii
zapasowej archiwalnych plików dziennika powtórzeĔ.
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
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”
25. RMAN – RECOVERY MANAGER
- 271 -
BP Key: 2
Status: AVAILABLE Compressed: NO Tag: TAG20070602T005115
Piece Name: C:\ORACLEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\AUTOBACKUP\200
7_06_02\O1_MF_S_624156235_3618Q4HV_.BKP
Control File Included: Ckp SCN: 256764
Ckp time: 07/06/02
SPFILE Included: Modification time: 07/06/02
a nastĊpnie wykonaü polecenia:
RMAN> RESTORE TABLESPACE users FROM tag= TAG20070602T005019;
RMAN> RECOVER TABLESPACE users;
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.1. Export
SQL> CREATE DIRECTORY dtpump AS ‘c:\dtpump’;
SQL> GRANT READ ON DIRECTORY dtpump TO hr, system;
SQL> GRANT WRITE ON DIRECTORY dtpump TO hr, system;
W przypadku peánego exportu wymagane jest posiadanie uprawnienia systemowego
EXP_FULL_DATABASE
Utwórzmy plik z parametrami dp1.par:
DIRECTORY=dtpump
DUMPFILE=dp1.dmp
CONTENT= all
/* data_only, metadata_only */
FULL=y
C:\expdp hr/hr PARFILE=c:\oraclexe\dp1.par
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
26. MECHANIZM EXPORTU I IMPORTU DATA PUMP
Utwórzmy plik z parametrami dp2.par:
DIRECTORY=dpump
DUMPFILE=dp2.dmp
CONTENT=DATA_ONLY
EXCLUDE=TABLE:"IN ('COUNTRIES', 'REGIONS')"
QUERY=employees:"WHERE department_id !=50 ORDER BY employee_id"
C:\expdp system/test PARFILE=c:\oraclexe\dp2.par
Utwórzmy plik z parametrami dp3.par:
DIRECTORY=dpump
INCLUDE=FUNCTION
INCLUDE=PROCEOURE
INCLUDE=TABLE LIKE “REG*"
DUMPFILE=dp3.dmp
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
- 273 -
26. MECHANIZM EXPORTU I IMPORTU DATA PUMP
- 274 -
Dysponując takim plikiem parametrów, moĪna uruchomiü eksport nastĊpująco:
C:>expdp hr/hr parfi1e=c:\dp3.par
UĪyta opcja INCLUDE zaznacza, jakie obiekty mają byü dodane do pliku eksportu.
Analogiczna opcja EXCLUDE wyáącza z eksportu zadane obiekty.
§ 26.2. Import
W przypadku peánego importu wymagane jest posiadanie uprawnienia systemowego
IMP_FULL_DATABASE
Utwórzmy plik z parametrami dp1imp.par:
DIRECTORY=dtpump
DUMPFILE=dp1.dmp
CONTENT= all
REMAP_SCHEMA=hr:u1
C:\expdp system/test PARFILE=c:\oraclexe\dp1imp.par
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”
SPIS ILUSTRACJI
- 275 -
Spis ilustracji
Rysunek 21.3.1. Tabela zgodnoĞci blokad .....................................................................................................................226
Rysunek 23.1.1. Obszar SGA. ........................................................................................................................................248
Rysunek 23.1.2. Pliki Redo w trybie NOARCHIVELOG. ..............................................................................................249
Rysunek 23.1.3. Pliki Redo w trybie ARCHIVELOG. ....................................................................................................250
Rysunek 23.4.1. Punkty kontrolne..................................................................................................................................258
Rysunek 23.4.2. Punkty kontrolne..................................................................................................................................259
Rok akademicki – 2007/2008 - Notatki do przedmiotu „Administracja bazami danych”

Podobne dokumenty