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 -