Oracle RMAN. Leksykon kieszonkowy



Podobne dokumenty
Wykonywanie kopii bezpieczeństwa w bazie Oracle 11g

Podstawy systemów UNIX Podstawy RMAN

Konfiguracja bazy danych zwiększająca możliwość odtworzenia jej po awarii nośnika

PROCEDURA BACKUP & RECOVER Dokument opisuje procedurę backup u i odtwarzania dla bazy Oracle 11gR2

Przygotowanie bazy do wykonywania kopii bezpieczeństwa

RECOVERY MANAGER JAK DOBRZE I SZYBKO ODTWORZYĆ BAZĘ DANYCH W SZBD ORACLE

Przyczyny awarii. Struktury wykorzystywane do odtwarzania bd. Archiwizowanie plików dziennika. Archiwizowanie danych. danych

Archiwizacja i odtwarzanie bazy danych

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

Kopie zapasowe w SQL Server. Michał Bleja

Odtwarzanie po awarii plików bazy danych

SQL Server. Odtwarzanie baz danych.

Memeo Instant Backup Podręcznik Szybkiego Startu

startup pfile= '$HOME/admin/pfile/initDBx.ora'; create spfile from pfile= '$HOME/admin/pfile/initDBx.ora';

Smarty PHP. Leksykon kieszonkowy

Administracja bazy danych Oracle 10g

Ćwiczenie 6. Zabezpieczenie bazy danych i odtwarzanie jej po awarii

Zarządzanie kontami użytkowników w i uprawnieniami

Tworzenie kopii zapasowej baz danych programu Lotus Connections 3.0 (oraz 3.0.1)

Strojenie,administracja itp. Cz. 2

Copyright 2013 COIG SA Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek

System Oracle podstawowe czynności administracyjne

Windows Serwer 2008 R2. Moduł 8. Mechanizmy kopii zapasowych

DATABASE SNAPSHOT GEEK DIVE. Cezary Ołtuszyk Blog: coltuszyk.wordpress.com

Problemy techniczne SQL Server

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Administracja i programowanie pod Microsoft SQL Server 2000

BACKUP BAZ DANYCH FIREBIRD

Systemy Operacyjne. Zarządzanie/Administracja Systemem/Procesami. autor: mgr inż. Andrzej Woźniak

Problemy techniczne SQL Server

Archiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania

Administracja i programowanie pod Microsoft SQL Server 2000

Block Change Tracking

Cwiczenie 7. Retrospekcja

Oracle ³atwiejszy ni przypuszczasz. Wydanie III

MySQL. Æwiczenia praktyczne

Podręcznik administratora systemu

Administrowanie systemami informatycznymi Kod przedmiotu

Szkolenie obejmuje zagadnienia związane z tworzeniem i zarządzaniem bazą danych Oracle, jej zasobami i dostępem do danych.

(a) T (b) N (c) N (d) T

Migracja Business Intelligence do wersji

Zarządzanie strukturą bazy danych Oracle11g

DLA WINDOWS 1. USTAWIANIE SKOKU W CZASIE 2.WYBÓR CHRONIONYCH PLIKÓW 3.POWRÓT DO PRZESZŁOŚCI

Video Recording Manager export Wizard Version 1.0. Instrukcja obsługi oprogramowania

Zmiana treści Specyfikacji Istotnych Warunków Zamówienia.

Klastrowanie bazy IBM DB2. Adam Duszeńko

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Prawa dostępu do serwera. Nadawanie i odbieranie uprawnień DCL. Użytkownicy a role

VinCent Administrator

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Laboratorium - Archiwizacja i odzyskiwanie danych w systemie Windows XP

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Użytkownicy, uprawnienia, role w SQL Server (W oparciu o SQL Server 2008R2 Books Online)

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

Zadania do wykonania na laboratorium

Migracja XL Business Intelligence do wersji

Kopia zapasowa i odzyskiwanie

SYSTEM INFORMATYCZNY KS-SEW

Zmiana treści Specyfikacji Istotnych Warunków Zamówienia.

Administracja bazami danych

1 Instalowanie i uaktualnianie serwera SQL Server

Backup Premium Podręcznik Szybkiego Startu

Czym jest router?... 3 Vyatta darmowy router... 3 Vyatta podstawowe polecenia i obsługa... 3 Zarządzanie użytkownikami... 3 Uzupełnianie komend...

Migracja Comarch ERP Altum Business Intelligence do wersji

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Język PL/SQL Procedury i funkcje składowane

Migracja Business Intelligence do wersji 11.0

Migracja Business Intelligence do wersji

Przywracanie systemu. Do czego służy Przywracanie systemu?

Acronis Backup & Recovery 10 Server for Linux. Instrukcja szybkiego rozpoczęcia pracy

Instrukcja backup PostgreSQL

Ewidencja Wyposażenia PL+

PROGRAM DO ARCHIWIZACJI NOŚNIKÓW KOPII ELEKTRONICZNEJ

Spis treści MONITOR PRACY... 4

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

System archiwizacji i konserwacji baz danych MS SQL

Archiwizowanie nagrań i naprawa bazy danych

Instrukcja konfiguracji programu KS-ASW do pracy w trybie wielopodmiotowym

Uprawnienia, role, synonimy

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Ustalanie dostępu do plików - Windows XP Home/Professional

Oracle10g: Programowanie w PL/SQL

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Instrukcja instalacji v2.0 Easy Service Manager

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

Administracja bazami danych. dr inż. Grzegorz Michalski

Aktualizacja do Microsoft SQL Server Adam Rynarzewski MCT

Bloki anonimowe w PL/SQL

Volume Snapshot for Mac OS X. Podręcznik użytkownika

Sieciowa instalacja Sekafi 3 SQL

Oprogramowanie. DMS Lite. Podstawowa instrukcja obsługi

AutoCAD Pierwsze kroki

ABA-X3 PXES v Podręczna instrukcja administratora. XDMCP Licencja FDL (bez prawa wprowadzania zmian) Tryb X terminala

ZAŁĄCZNIK NR 1.8 do PFU Serwery wraz z system do tworzenia kopii zapasowych i archiwizacji danych - wyposażenie serwerowni

Oracle11g: Programowanie w PL/SQL

(c) Politechnika Poznańska, Instytut Informatyki

Polecenia wewnętrzne:

NS-2. Krzysztof Rusek. 26 kwietnia 2010

Transkrypt:

IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWOŒCIACH ZAMÓW CENNIK CZYTELNIA SPIS TREŒCI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY KSI EK ONLINE Oracle RMAN. Leksykon kieszonkowy Autorzy: Darl Kubn, Scott Schulze T³umaczenie: Bart³omiej Garbacz ISBN: 83-7197-673-9 Tytu³ orygina³u: Oracle RMAN. Pocket Reference Format: B6, stron: 152 Niniejsza ksi¹ ka jest leksykonem kieszonkowym pakietu Recovery Manager (RMAN) -- narzêdzia s³u ¹cego do przeprowadzania wszelkich czynnoœci zwi¹zanych z archiwizowaniem i odzyskiwaniem danych w bazach danych Oracle. Nie stanowi ona jednak wyczerpuj¹cego kompendium wiedzy na temat archiwizowania i odzyskiwania danych. Zawarto tu natomiast przegl¹d architektury pakietu RMAN, w skrócie opisano metody archiwizowania i odzyskiwania danych za pomoc¹ tego pakietu, przedstawiono zagadnienia zwi¹zane z obs³ug¹ katalogu odzyskiwania (recovery catalog), a tak e zamieszczono diagramy sk³adniowe poleceñ pakietu RMAN. Zadaniem niniejszego Leksykonu jest umo liwienie szybkiego odnalezienia opisu sk³adni i odpowiedniego przyk³adu zastosowania potrzebnego polecenia pakietu RMAN w celu archiwizacji, odtworzenia lub odzyskania danych. Autorzy za³o yli, e Czytelnik jest zaznajomiony z podstawami obs³ugi baz danych Oracle oraz z zagadnieniami zwi¹zanymi z tworzeniem kopii zapasowej i odzyskiwaniem danych. Wszystkie zamieszczone w niniejszej ksi¹ ce przyk³ady skryptów trybu wsadowego zosta³y utworzone w jêzyku skryptowym systemu Unix. Wiele z tych przyk³adów zawiera œcie ki dostêpu odpowiadaj¹ce œrodowisku pracy stosowanemu przez Autorów. Jeœli Czytelnik bêdzie opracowywa³ w³asne skrypty, musi je dostosowaæ do œrodowiska pracy swojej aplikacji. Pisz¹c niniejsz¹ ksi¹ kê Autorzy starali siê stosowaæ do prawa Pareto dlatego po³o ono szczególny nacisk na opisanie tych zagadnieñ, z którymi u ytkownik najprawdopodobniej zetknie siê podczas wykorzystywania pakietu RMAN. Nie omówiono tu wszystkich rodzajów œrodowiska pracy ani wszystkich scenariuszy archiwizowania i odzyskiwania danych, jakie stosowaæ mo e administrator baz danych Oracle. W niniejszej ksi¹ ce opisano niektóre z najczêœciej spotykanych scenariuszy, jednak e trzeba pamiêtaæ, e spraw¹ o fundamentalnym znaczeniu jest dog³êbne poznanie w³asnej implementacji pakietu RMAN. Jest to warunek zapewnienia sobie mo liwoœci odzyskania ka dej bazy danych, bez wzglêdu na rodzaj ewentualnej awarii. Nie mo na przeceniæ wa noœci regularnego testowania pakietu jako formy przygotowania do usuwania skutków nieprzewidywalnych awarii. Dziêki poprawnie skonfigurowanej implementacji pakietu oraz jego regularnemu testowaniu administrator bazy danych zyskuje pewnoœæ, e niezale nie od okolicznoœci zdo³a on opanowaæ sytuacjê.

Wstęp...c... 7 Architektura pakietu RMAN...c. 10 Program wykonywalny RMAN... 11 Procesy serwera...c... 12 Kanały...c... 12 Docelowa baza danych...c... 13 Baza danych katalogu odzyskiwania... 13 Warstwa obsługi nośników danych... 16 Kopie zapasowe, zbiory kopii zapasowych i elementy kopii zapasowych... 17 Uruchamianie pakietu RMAN... 18 Wymagania dotyczące docelowej bazy danych... 19 Wywoływanie programu wykonywalnego pakietu RMAN.. 23 Łączenie z docelową bazą danych bez wykorzystania bazy danych katalogu odzyskiwania... 24 Łączenie z docelową bazą danych oraz bazą danych katalogu odzyskiwania... 27 Wykonywanie poleceń...c... 29 Wykonywanie komend wywoływanych z wiersza poleceń RMAN...c.. 29 Wykonywanie komend pakietu RMAN zapisanych w pliku...c... 32 Wykonywanie poleceń języka SQL i systemu operacyjnego z poziomu programu RMAN... 34 Uruchamianie programu RMAN z poziomu skryptów systemowych... 35

Wykorzystywanie katalogu odzyskiwania... 39 Istota katalogu odzyskiwania... 39 Strategie tworzenia kopii zapasowej bazy katalogu... 43 Zagadnienia związane z katalogiem odzyskiwania... 46 Tworzenie katalogu...c... 49 Rejestrowanie docelowej bazy danych... 52 Skrypty składowane w katalogu... 53 Przechowywanie skryptu...c. 53 Uruchamianie skryptu składowanego... 54 Przeglądanie skryptu składowanego... 56 Usuwanie skryptu składowanego... 57 Kopie zapasowe...c... 58 Pełna kopia zapasowa zamkniętych plików danych... 58 Pełna kopia zapasowa otwartych plików danych... 60 Tworzenie kopii zapasowej przestrzeni tabel... 61 Tworzenie kopii zapasowej plików danych... 61 Tworzenie kopii zapasowej plików kontrolnych... 62 Tworzenie kopii zapasowej archiwalnych plików dziennika powtórzeń...c... 64 Przyrostowe kopie zapasowe... 66 Porady dotyczące tworzenia kopii zapasowych... 70 Odtwarzanie plików...c... 73 Odtwarzanie i odzyskiwanie wszystkich plików danych... 74 Odtwarzanie konkretnych przestrzeni tabel lub plików danych...c... 76 Odtwarzanie przestrzeni tabel zapisanych w trybie tylko do odczytu...c 77 Odtwarzanie do określonego momentu w czasie... 78 Odtwarzanie plików kontrolnych... 79 Odtwarzanie archiwalnych plików dziennika powtórzeń... 80

Lista poleceń pakietu RMAN...c 81 Powtarzające się słowa kluczowe... 81 Powtarzające się wyrażenia... 84 Składnia poleceń wywoływanych z wiersza poleceń... 84 @...c... 87 @@...c... 87 ALLOCATE CHANNEL...c 88 ALLOCATE CHANNEL FOR MAINTENANCE... 90 ALTER DATABASE...c... 90 BACKUP...c... 91 BLOCKRECOVER (dotyczy tylko Oracle9i)... 97 CATALOG...c... 98 CHANGE...c... 100 CONFIGURE (dotyczy tylko Oracle9i)... 102 CONNECT...c... 105 COPY...c... 106 CREATE CATALOG...c... 108 CREATE SCRIPT...c... 109 CROSSCHECK...c... 110 DELETE...c... 111 DELETE SCRIPT...c... 114 DROP CATALOG...c... 114 DUPLICATE...c... 115 EXECUTE SCRIPT...c... 117 EXIT...c... 117 HOST...c... 117 LIST...c... 118 listaobiektów...c... 121 opcjekonserwacji (dotyczy tylko Oracle9i)... 121 opcjezachowywania (dotyczy tylko Oracle9i)... 122 operandprzydziału...c... 123 PRINT SCRIPT...c... 125 przestkopiebezp (dotyczy tylko Oracle9i)... 125 o.'.3 9 /2- /2 / +8/ 789343.+2 78 9 o.'.3 9 /2- /2 / +8/ 789343.+2 78 9

QUIT (dotyczy tylko Oracle9i)... 126 RECOVER...c... 126 REGISTER...c... 128 RELEASE CHANNEL...c.. 129 releasepokonserwacji...c... 129 REPLACE SCRIPT...c... 130 REPLICATE...c... 132 REPORT...c... 132 RESET DATABASE...c... 135 RESTORE...c... 135 RESYNC...c... 138 RUN...c... 138 SEND...c... 139 SET...c... 139 SHOW (dotyczy tylko Oracle9i)... 141 SHUTDOWN...c... 142 specarchdzienpowt...c... 142 specczasuutworz...c... 144 specłańcuchapołączenia... 144 specobiektówkonserwacji (dotyczy tylko Oracle9i)... 145 specplikudanych...c... 146 specurządzenia...c... 146 SPOOL (dotyczy tylko Oracle9i)... 147 SQL...c... 147 STARTUP...c... 148 SWITCH...c... 148 UPGRADE CATALOG...c 150 VALIDATE...c... 150 wyrażenieuntil...c... 151

34 / +4+73;/ W niniejszym rozdziale zaprezentowano serię skryptów pakietu RMAN oraz skryptów systemowych (korn), które służą do tworzenia kopii zapasowych bazy danych oraz jej poszczególnych komponentów. Pakiet RMAN może archiwizować pliki danych (datafiles), pliki kontrolne (control files), archiwalne pliki dziennika powtórzeń (archived redo files) oraz elementy kopii zapasowej (backup pieces). Pakiet RMAN nie tworzy kopii zapasowych aktywnych plików dziennika powtórzeń (online redo logs). %' Częścią standardowego działania pakietu RMAN w odniesieniu do archiwizacji danych jest odczytywanie wszystkich bloków plików danych, sprawdzenie ich poprawności, a w końcu zapisanie informacji o wszelkich wykrytych nieprawidłowościach. Informacje dotyczące potencjalnych uszkodzeń są dostępne w widokach V$BACKUP_CORRUPTION oraz V$COPY_ CORRUPTION. Przed utworzeniem kopii zapasowej bazy danych musi być ona zamontowana (tryb mount) lub otwarta. Wymóg, by baza danych była przynajmniej w trybie mount, jest spowodowany koniecznością zapewnienia dostępu programowi RMAN do plików kontrolnych docelowej bazy danych przed przeprowadzeniem procesu archiwizacji danych. /o2+ 34 + +4+73;+ + 2 8-4 ;.+2 - Przed utworzeniem kopii zapasowej zamkniętych plików danych (offline backup) należy zamknąć bazę danych, a następnie uruchomić ją ponownie w trybie mount. Baza danych nie musi znajdować się w trybie archivelog. 6+- /" / 7 32 /7 32 3;

Poniższy skrypt (dla wersji Oracle9i * ) zamyka bazę danych, montuje ją (tryb mount), tworzy jej kopię zapasową, a w końcu ponownie ją otwiera: #!/bin/ksh rman target / <<EOF shutdown immediate; startup mount; backup database format '/d99/rmanback/brdstn/rman_%d_%t_%u.bus'; alter database open; EOF exit Poniższy skrypt systemowy dla wersji Oracle8i tworzy pełną kopię zapasową bazy danych. Należy zwrócić uwagę, że składnia poleceń jest tu nieco bardziej złożona w porównaniu z wersją Oracle9i. Dla wersji Oracle8i polecenia allocate oraz backup muszą znajdować się wewnątrz polecenia run{}. #!/bin/ksh rman target / nocatalog <<EOF shutdown immediate; startup mount; run { allocate channel d1 type disk; backup database format '/d99/rmanback/brdstn/rman_%d_%t_%u.bus'; } alter database open; EOF Exit * Wyznacznikiem nie jest wersja serwera Oracle, ale programu Recovery Manager. Np. dla wydania RMAN 8.1.7.0.0 z serwerem w wersji e9i należy zastosować wersję skryptu dla Oracle8i przyp. red. 34 / +4+73;/

%' W obu przykładach zastosowano parametr format w celu podania określonej lokalizacji oraz niepowtarzalnej nazwy dla elementów kopii zapasowej. Pominięcie tego parametru powoduje, że elementy kopii zapasowej kierowane są do katalogu $ORACLE_ HOME/dbs. Więcej szczegółów na temat tego zagadnienia znajduje się w tabeli 1.1 w rozdziale Lista poleceń pakiettu RMAN. /o2+ 34 + +4+73;+ 38;+68-4 ;.+2 - Przed utworzeniem kopii zapasowej otwartych plików danych (online backup) baza danych musi być otwarta oraz znajdować się w trybie archivelog. Jeśli wykorzystywanym systemem jest Oracle9i, składnia odpowiedniego polecenia jest bardzom prosta: RMAN> backup database format 2> '/d99/rmanback/brdstn/rman_%d_%t_%u.bus'; %' W przeciwieństwie do standardowego sposobu tworzenia kopii zapasowych otwartych plików danych (gorących kopii zapasowych) pakiet RMAN nie przełącza przestrzeni tabel w tryb backup. Nie są zatem generowane żadne dodatkowe dzienniki powtórzeń. W przypadku baz danych o wysokiej aktywności może to dawać znaczące korzyści związane z lepszym wykorzystaniem zasobów systemowych. W przypadku wersji Oracle8i należy zastosować polecenie run{}: RMAN> run { 2> allocate channel d1 type disk; 6+- /" / 7 32 /7 32 3;

3> backup database format 4> '/d99/rmanback/brdstn/rman_%d_%t_%u.bus'; 5> } $;36 /2 / 34 +4+73;/ 46 /786 /2 8+,/ Możliwość podawania jedynie podzbioru przestrzeni tabel podczas procesu archiwizacji danych zwiększa zakres możliwych strategii tworzenia kopii zapasowych. W przypadku wersji Oracle9i składnia polecenia jest bardzo prosta: RMAN> backup tablespace system, users format 2> '/d99/rmanback/brdstn/rman_bckup_%d_%t_%u.bus'; W przypadku wersji Oracle8i należy ponownie zastosować polecenie run{}: RMAN> run { 2> allocate channel d1 type disk; 3> backup format 4> '/d99/rmanback/brdstn/rman_bckup_%d_%t_%u.bus' 5> tablespace system, users include current controlfile; 6> } $;36 /2 / 34 +4+73;/ 4 ;.+2 - Pliki danych można archiwizować przez podanie ich numerów lub nazw. Dla wersji Oracle9i składnia polecenia jest prosta. W przypadku tworzenia kopii zapasowej na dysku i jeśli numery plików archiwizowanych danych są znane, stosuje się następujące polecenie: RMAN> backup datafile 1,2; 34 / +4+73;/

W analogicznej sytuacji dla wersji Oracle8i składnia takiego polecenia wygląda następująco: RMAN> run { 2> allocate channel d1 type disk; 3> backup format 4> '/d99/rmanback/brdstn/rman_bckup_%d_%t_%u.bus' 5> datafile 1, 2; 6> } Można także podać nazwę konkretnego pliku danych przeznaczonego do archiwizacji: RMAN> run { 2> allocate channel d1 type disk; 3> backup format 4> '/d99/rmanback/brdstn/rman_bckup_%d_%t_%u.bus' 5> '/d01/oradata/workprd/users_01.dbf'; 6> } Jeżeli archiwizacji poddaje się więcej plików, ich nazwy należy oddzielić przecinkami. $;36 /2 / 34 +4+73;/ 4 ; 32863 2 - Przydatną właściwością systemu Oracle9i jest możliwość automatycznej archiwizacji plików kontrolnych po każdorazowym wydaniu polecenia backup lub copy. Można to osiągnąć za pomocą polecenia configure w następujący sposób: RMAN> configure controlfile autobackup on; Samodzielnie archiwizację pliku kontrolnego w systemie Oracle9i przeprowadza się za pomocą polecenia: RMAN> backup current controlfile; 6+- /" / 7 32 /7 32 3;

Poniżej przedstawiono przykład archiwizacji pliku kontrolnego za pomocą skryptu systemowego. Jest on poprawny dla wersji Oracle9i i Oracle8i: #!/bin/ksh # Plik: kopia_bezp_kontrol.ksh export ORACLE_HOME=/d00/app/oracle/product/9.0.0 export ORACLE_SID=brdstn export PATH=/usr/sbin:/usr/bin:$ORACLE_HOME/bin export MAILX="/usr/ucb/Mail" export MAIL_LIST="chaya@garam.com" BOX=`uname -a awk '{print$2}'` date rman nocatalog log=rman_kopia_kontrol.log <<EOF connect target / run { allocate channel d1 type disk; setlimit channel d1 kbytes 1900000; backup format '/d99/rmanback/brdstn/ rman_cntl_%d_%t_%u.bct' (current controlfile); release channel d1; } EOF # if [ $? -ne 0 ]; then $MAILX -s "RMAN napotkał problem z $ORACLE_SID w $BOX" \ $MAIL_LIST <<EOF Sprawdź kopię bezpieczeństwa RMAN pliku kontrolnego... EOF # else print "Kopia bezpieczeństwa RMAN pliku kontrolnego została poprawnie utworzona..." fi 34 / +4+73;/

date $;36 /2 / 34 +4+73;/ +6- ;+ 2-4 ;. /22 +43;8 6 /q W przypadku wersji Oracle9i składnia polecenia tworzącego kopię zapasową archiwalnych plików dziennika powtórzeń (archived redo log files) jest bardzo prosta: RMAN> backup archivelog all; Inną techniką, możliwą do zastosowania w systemie Oracle9i, jest zastosowanie w poleceniu backup wyrażenia plus archivelog, dzięki 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 pmowtórzeń: RMAN> backup database format 2> '/d00/backup/rman_%u.bus' plus archivelog; Znajdujący się poniżej prosty skrypt działa poprawnie zarówno w przypadku wersji Oracle8i, jak i Oracle9i. Wykonanie skryptu powoduje utworzenie kopii zapasowej wszystkich archiwalnych plików dziennika powtórzeń docelowej bazy danych: RMAN> run { 2> allocate channel t1 type 'sbt_tape'; 3> backup filesperset 5 format 4> '/d0100/backup/ar_%d_%t.bus' (archivelog all ); 5> } 6+- /" / 7 32 /7 32 3;

%' Przydatną właściwością pakietu RMAN jest jego zdolność odróżniania tych archiwalnych plików dziennika powtórzeń, których zapis na dysku jest zakończony. Dzięki temu pakiet RMAN nigdy nie podejmuje próby archiwizacji częściowo zapisanych archiwalnych plików dziennika powtórzeń. Poniżej przedstawiono kolejny przykład skryptu systemowego, który za pomocą poleceń pakietu RMAN tworzy kopię zapasową archiwalnych plików dziennika powtórzeń. Po jego uruchomieniu, w zbiorze kopii zapasowej znajdą się wszystkie archiwalne pliki dziennika powtórzeń utworzone w ciągu ostatnich trzech dni. #!/bin/ksh # Plik: kopia_bezp_arch.ksh export ORACLE_HOME=/d00/app/oracle/product/9.0.0 export ORACLE_SID=brdstn export PATH=/usr/sbin:/usr/bin:$ORACLE_HOME/bin export MAILX="/usr/ucb/Mail" export MAIL_LIST="heeraa@chamak.com" BOX=`uname -a awk '{print$2}'` date rman nocatalog log=rman_kopia_arch.log <<EOF connect target sys/pwd run { allocate channel d1 type disk; setlimit channel d1 kbytes 1900000; backup format '/d99/backup/brdstn/arch_%d_%t.bus' filesperset=50 archivelog from time 'sysdate-3'; release channel d1; } 34 / +4+73;/

EOF # if [ $? -ne 0 ]; then $MAILX -s "RMAN napotkał problem z $ORACLE_SID w $BOX" \ $MAIL_LIST <<EOF Sprawdź kopię bezpieczeństwa RMAN archiwalnego dziennika powtórzeń... EOF # else print "Kopia bezpieczeństwa RMAN archiwalnego dziennika powtórzeń została poprawnie utworzona..." fi date %' Jeżeli jakiś proces nie związany z programem RMAN usunie pliki dziennika powtórzeń, to ani w plikach kontrolnych, ani w opcjonalnym katalogu odzyskiwania nie zostanie zapisana żadna informacja o tym, że te pliki nie są już dostępne. Dlatego też należy okresowo wydawać polecenie: RMAN> change archivelog all validate; Z tego względu warto, aby program RMAN usuwał te pliki z systemu w momencie, gdy nie są one już potrzebne. 6 63783;/ 34 / +4+73;/ Jedną z najbardziej spektakularnych cech pakietu RMAN jest możliwość tworzenia przyrostowych kopii zapasowych (incremental backups). W przypadku standardowej, opartej na powielaniu plików, procedury tworzenia kopii zapasowych (na przykład 6+- /" / 7 32 /7 32 3;

tworzenia gorących lub zimnych kopii zapasowych) kopiowane są wszystkie bloki plików danych bazy docelowej, bez względu na to, czy były one używane, czy nie. Program RMAN posiada możliwość sprawdzenia, które bloki plików danych zostały zmienione od ostatniej archiwizacji. Dzięki temu kopiowaniu podlegają tylko bloki zmodyfikowane. %' Jeśli podczas archiwizacji program RMAN kopiuje tylko zmodyfikowane bloki, proces ten nazywa się kompresją (compression). Nieużywane lub niezmodyfikowane bloki w pliku danych zostają pominięte. Pomijanie nie zmienionych bloków daje ogromne korzyści poprzez zmniejszenie wymagań co do zasobów systemowych. Oznacza to także, że czas wykonania kopii zapasowej oraz ilość potrzebnego do jej przechowania miejsca na taśmie lub dysku mzależą od ilości dokonanych w bazie danych zmian, nie zaś od jej rozmiaru. W przypadku bardzo dużych baz danych już tylko ten jeden argument może uczynić zasadnym korzystanie z pakietu RMAmN. Wiele zagadnień dotyczących kopii przyrostowych związanych jest z pojęciem poziomu (level). Podstawą idei tworzenia przez pakiet RMAN wielopoziomowych kopii zapasowych jest założenie, że archiwizować należy tylko te bloki, które zostały zmodyfikowane od czasu poprzedniej archiwizacji. Tworzenie kopii przyrostowych można stosować w odniesieniu do całej bazy danych, jak również danych przestrzeni tabel lub plików danych. Posługiwanie się poziomami określane jest w przypadku systemów Oracle jako tworzenie wielopoziomowej przyrostowej kopii zapasowej (multilevel incremental backup). Istnieje pięć poziomów kopii zapasowej w przedziale od 0 do 4 (level 0 level 4). 34 / +4+73;/

Istnieją dwa rodzaje przyrostowych kopii zapasowych różnicowe (differential) oraz kumulacyjne (cumulative). Tworzenie różnicowej kopii przyrostowej polega na tym, że pakiet RMAN archiwizuje tylko te bloki, które zostały zmienione od czasu utworzenia kopii poziomu n lub niższego. Przykładowo, jeśli tworzy się różnicową kopię przyrostową poziomu 1, archiwizacji podlegają bloki, które zostały zmodyfikowane od czasu poprzedniej archiwizacji na poziomie 1. W przypadku pakietu RMAN tworzenie kopii różnicowych jest domyślnym trybem przeprowadzania archiwizacji przyrostowej. %' W razie tworzenia przyrostowej kopii zapasowej o poziomie wyższym od 0, jeśli nie wykonano wcześniej żadnej archiwizacji na tym poziomie, pakiet RMAN automatycznie tworzy kopię poziomu 0. Tworzenie kumulacyjnej kopii przyrostowej polega na tym, że pakiet RMAN archiwizuje tylko te bloki, które zostały zmienione od czasu utworzenia kopii poziomu n-1 lub niższego. Przykładowo, jeśli tworzy się kumulacyjną kopię przyrostową poziomu 1, nastąpi archiwizacja bloków, które zostały zmodyfikowane od czasu ostatniej archiwizacji na poziomime 0. Udostępnienie tych wszystkich możliwości pozwala na wybór najodpowiedniejszej w danej sytuacji strategii archiwizacji danych. Różnicowa kopia bezpieczeństwa zajmuje mniej miejsca i jej utworzenie trwa krócej, ale odtworzenie danych na podstawie tej kopii zabiera więcej czasu. Z kolei kopia kumulacyjna zajmuje więcej miejsca i więcej czasu trwa jej utworzenie, ale odtworzenie danych na jej podstawie jest szybsze. Zatem w zależności od specyficznych cech aplikacji należy podjąć decyzję, czy ważniejsze jest zminimalizowanie czasu tworzenia kopii 6+- /" / 7 32 /7 32 3;

zapasowych danych, czy też czasu odtwarzania danych. W przypadku małych baz danych zaleca się wykorzystanie pakietu RMAN do codziennego wykonywania kopii zapasowej pozmiomu 0. %' Pełna archiwizacja (full backup) polega na tworzeniu kopii zapasowej dokładnie tych samych bloków, co w przypadku archiwizacji na poziomie 0. Różnica między tymi procesami wynika z tego, że kolejne procesy archiwizacji przyrostowej zachodzą w sposób całkowicie niezależny od istnienia pełnej kopii bezpieczeństwa. Dlatego też pełne kopie nie mogą zostać zastosowane w celu odtwarzania danych z kopii przyrostowych. Tworzenie pełnej kopii zapasowej jest domyślnym trybem archiwizacji w przypadku, gdy nie podano żadnego poziomu przyrostu. Poniżej znajduje się przykład utworzenia kopii kumulacyjnej (dla systemu Oracle9i), gdzie program RMAN archiwizuje wszystkie bloki, które zostały zmodyfikowane od czasu ostatniej archiwizacji na poziomie 3 lub niższym, oraz pomija przestrzenie tabel przeznaczone tylko do odczytu (read only): RMAN> backup incremental level 4 cumulative database 2> skip readonly; Poniżej przedstawiono przykład utworzenia różnicowej kopii bezpieczeństwa w przypadku systemu Oracle8i. Archiwizacji podlegają wszystkie bloki, które zostały zmodyfikowane od czasu ostatniej archiwizacji na poziomie 1 lub niższymm: RMAN> run {allocate channel d1 type disk; 2> backup incremental level 1 format 3> '/d0101/backup/rman_%u.bus' database;} 34 / +4+73;/

36+..38 - -/ 8;36 /2 + 34 +4+73; - Powyżej omówiono różne scenariusze archiwizacji danych. W dalszej części niniejszego rozdziału przedstawiono polecenia służące do informowania o spójności kopii zapasowych lub zwiększania wydajności procesu ich tworzenia. #46+;. +2 /78+29 34 +4+73;/ Jedną z pożytecznych cech pakietu RMAN jest możliwość kontrolowania stanu kopii zapasowej. Najprostszym sposobem zapoznania się z tymi informacjami jest wydanie polecenia list backup. RMAN> list backup; Efektem wykonania polecenia list backup jest wyświetlenie informacji o nazwie, poziomie, czasie utworzenia oraz stanie każdej z kopii zapasowych. Ponadto pakiet RMAN ma możliwość prostego sprawdzenia odtwarzalności plików danej kopii zapasowej. Do tego celu służy polecenie restore database validate. Efektem wykonania tej komendy nie jest przeprowadzenie samego procesu odtwarzania, lecz jedynie sprawdzenie, czy zawartość zbiorów kopii zapasowej może zostać w razie potrzeby odtworzona. Poniżej przedstawiono przykład zastosowania tego polecenia dla aplikacji działającej w systemie Oracle8i i Oracle9i: RMAN> run { 2> allocate channel d1 type disk; 3> restore database validate; 4> } 6+- /" / 7 32 /7 32 3;

320 1963;+2 / +2+o ; Przydatną cechą systemu Oracle9i jest możliwość zmiany domyślnych właściwości kanału. Po zmianie właściwości te zostają zapisane w pliku kontrolnym i są zachowywane na potrzeby kolejnych sesji programu RMAN. Poniżej przedstawiono przykład zmiany domyślnej wartości parametru rate (maksymalna liczba danych czytanych przez kanał) urządzenia dyskowego oraz wartości łańcucha formatującego: RMAN> configure channel device type disk 2> rate 1000000 format '/d99/rmanback/rman_%u.bus'; Przeglądanie wszystkich ustawień konfiguracyjnych jest możliwe po wydaniu dostępnego w wersji Oracle 9i polecenia show all: RMAN> show all; RMAN configuration parameters are: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE CHANNEL DEVICE TYPE DISK RATE 1000000 FORMAT '/d99/rmanback/rman_%u.bus'; CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/d00/ app/oracle product/9.0.0/dbs/snapcf_dev900.f'; # default 34 / +4+73;/

Warto zauważyć, że pozycje, dla których ustawienia domyślne nie zostały zmienione, są oznaczone przez # default. Aby skasować ustawienia właściwości kanału, wydaje się polecenie configure clear. Poniżej przedstawiono przykład polecenia, którego wydanie przywraca domyślne ustawienia właściwości urządzenia: RMAN> configure default device type clear; " ;23 /1o3 8;36 /2 + 34 +4+73; - W celu zwiększenia wydajności pracy aplikacji program RMAN może rozdzielić wykonanie pewnych poleceń na kilka równoległych procesów. Nie oznacza to, że w razie wywołania kilku poleceń będą one wszystkie wykonywane równocześnie, ale że wykonanie każdego z nich oddzielnie zostanie rozbite na równoległe procesy. Dobrym przykładem przetwarzania równoległego (parallelization) jest wykonanie polecenia backup. Jeśli przydzielonych jest kilka kanałów, program RMAN jednocześnie korzysta z kilku procesów w celu wykonania tego polecenia. Dane zapisywane są jednocześnie przez wszystkie kanały: RMAN> configure device type disk parallelism 3; RMAN> backup database format '/d99/rmanback/ rman_%u.bus'; W efekcie podczas archiwizacji bazy danych wykorzystywane są trzy równoległe procesy. 6+- /" / 7 32 /7 32 3;

2+- +2 / 34 +4+73; - Pakiet RMAN udostępnia możliwość nadawania zbiorom kopii zapasowych nazw odpowiadających wymaganiom użytkownika. Przykładowo, pozwala to na łatwe rozróżnianie kopii zapasowych tworzonych codziennie i co tydzień, lub też na rozróżnianie przyrostowych kopii zapasowych tworzonych na różnych poziomach. W celu nadania odpowiedniej nazwy stosuje się słowo kluczowe tag w poleceniu backup. Poniżej przedstawiono przykład oznaczenia kopii zapasowej poziomu 3 jako inc_level_3: RMAN> backup incremental level 3 tag inc_level_3 format 2> '/d99/rmanback/rman_%u.bus'; Znaczniki (tags) mogą być stosowane w poleceniu list w celu szybkiego zlokalizowania zbiorów kopii zapasowych, a także w poleceniach restore oraz switch. Ta sama wartość znacznika może być wykorzystana dla wielu różnych zbiorów kopii zapasowych, zatem nie musi być ona niepowtarzamlna. Jeśli wartość danego znacznika jest niejednoznaczna, zostanie ona zastosowana do opisania ostatnio utworzonego zbioru kopii zapasowych o podanej w znaczniku wartości. W poniższym przykładzie przedstawiono zastosowanie polecenia list wyświetlającego informacje o istniejącej kopii zapasowej, którą oznaczono jako inc_level_3: RMAN> list backuppiece tag=inc_level_3;.8;+6 +2 /4 ; W zasadzie odtwarzanie plików składa się z trzech istotnych etapów:.8;+6 +2 /4 ;