Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » informatica » oracle
BackUp si Recovery pentru baza de date

BackUp si Recovery pentru baza de date


BackUp si Recovery pentru baza de date

Chiar si cu cele mai riguroase masuri de securitate, o companie poate fi vulnerabila la pierderile de date. Una dintre cele mai bune politici pe care o firma le poate implementa este luarea de masuri pentru determinarea formei de backup care va asigura recuperabilitatea sistemului. Indiferent de metoda aleasa, este recomandabil sa se testeze procedura de recuperare pentru a se asigura ca :

Se cunosc bine toate modalitatile de a se realiza recuperarea.

S-au analizat complet strategiile de backup si recuperare.

Sa se poata citi cu succes benzile pe unitati de banda diferite de cele folosite pentru a le crea.



Al treilea punct este foarte important. Daca au fost create benzile de backup pe un singur tip de unitate de banda, exista posibilitatea sa nu poata fi citite cu o alta unitate de banda.

1 Care sunt optiunile pentru backup

Exista cateva forme de backup pentru a asigura recuperabilitatea datelor intr-o baza de date. O data cu lansarea Oracle8, mai multe optiuni au devenit disponibile. Optiunile disponibile pentru backup sunt:

Cold backups-realizate cand baza de date este oprita.

Hot backups-realizate cu baza de date pornita si disponibila

Backup logic(exporturi)-un instantaneu realizat cu baza de date pornita si disponibila.

Backup set (nou cu Oracle8)-realizat folosind Recovery Manager-cu baza de date pornita si disponibila.

Hot si cold backup captureaza o imagine a bazei de date facand o copie a fisierelor baza de date si salvand copia fisierelor pe un alt disk in sistem sau pe banda. Daca se foloseste hot sau cold backup la nivel de fisier, se poate recupera baza de date pana la momentul in care au fost realizate copiile fisierelor. Se inlocuiesc in sistem fisierele deteriorate cu copiile care s-au facut.

Backup-urile logice se realizeaza cu utilitarul Oracle EXPORT. Utilitarul ofera posibilitatea capturarii unui instantaneu al bazei de date asa cum apare in momentul in care s-a realizat exportul. Folosind un export, se pot recupera doar un tabel sau doua daca e nevoie fara sa fie nevoie sa se , sau se poate recupera intreaga baza de date.

Backup set si copiile imaginilor sunt noi in RDBMS Oracle8 si sunt create folosind utilitarul Recovery Manager. Ca si hot si cold backup, backup set sunt copii ale fisierelor bazei de date. Diferenta este ca Recovery Manager controleaza creearea copiilor si retine informatii despre momentul in care au fost facute copiile si unde au fost stocate. Asa cum sugereaza si numele, se foloseste Recovery Manager nu numai sa se creeze backup-uri automat, ci si sa se realizeze recuperarea bazei de date in mod automat.

1.1. Despre modul Arhivelog

Orice baza de date contine cel putin doua fisiere jurnal pentru recuperare. Acestea sunt fisiere care pastreaza informatii folosite in cazul unei defectiuni de functionare a sistemului. Ele contin un jurnal al tuturor schimbarilor facute in baza de date. Modificarile facute sunt inregistrate pe rand in aceste fisiere. Astfel in momentul in care unul din fisiere este plin, modificarile se inregistreaza in fisierul urmator si asa mai departe. Cand toate fisierele sunt pline, primul fisier este rescris, ciclul continuand. Oracle ofera posibilitatea sa fie salvate aceste fisiere inainte sa fie refolosite si rescrise cu date noi. Mecanismul folosit se numeste modul archivelog. Cand este activat modul archivelog, informatiile din fisierele pentru recuperare sunt salvate intr-un fisiere separat pentru recuperare -fie pe un alt disk fie pe o banda. Daca este activat modul archivelog se poate recupera baza de date pana intr-un moment de timp diferit de momentul in care a fost realizat backup.

Modul archivelog este activat folosind un proces in doi pasi. Fisierul predefinit INIT.ORA contine cativa parametri pentru modul archivelog care sunt insa comentati. Primul pas in activarea modului archivelog este decomentarea acestor parametrii.

log_archive_start = true 

log_archive_dest = %ORACLE_HOME%databasearchive

log_archive_format = '%%ORACLE_SID%%T%S.ARC'

LOG_ARCHIVE_START

Transmite sistemului Oracle sa inceapa modul archivelog. Totusi decomentarea acestor parametrii si nu este procesul complet de activare a modului archivelog. Trebuie setati, de asemenea, si ceilalti parametrii pentru archivelog.

LOG_ARCHIVE_DEST

Transmite sistemului Oracle locatia unde sa scrie fisierele arhiva de recuperare. Aceasta poate fi fie pe un disk al sistemului de operare sau pe o unitate de banda si este dependent de sistemul de operare.

LOG_ARCHIVE_FORMAT


Transmite sistemului Oracle formatul in care va fi numele fisierul de recuperare arhivat (i.e cum va arata numele). '%T' reprezinta numele thread in timp ce '%S' este numarul de ordine al jurnalului. Litera mare S transmite sistemului Oracle ca numarul de ordine al jurnalului ar trebui sa aiba o lungime fixa si completat cu zerouri.

Cei trei parametrii de mai sus parametrii de baza din INIT.ORA pentru fisierele jurnal de recuperare arhivate. Mai exista si alti parametrii disponibili pentru modul archivelog, dar pentru al activa cu succes este obligatoriu sa fie setati acestia trei.

Al doilea pas, folosind svrmgrl, este STARTUP MOUNT pentru baza de date. Din svrmgrl, se lanseaza comanda:

ALTER SYSTEM ARCHIVE LOG START;

Dupa aceasta comanda se adauga:

ALTER DATABASE OPEN;

Baza de date este acum in modul archivelog. De fiecare data un fisier de reluare este umplut este salvat de procesul ARCH in fisierul de reluare arhivat. Se pot folosi fisierele de recuperare arhivate pentru recuperarea bazei de date pana la un moment de timp mai apropiat de momentul actual fata de momentul in care s-a realizat ultimul hot sau cold backup.

1.2 Cold Backup

Numele de Cold Backup, denumit cateodata si backup imagine, vine de la faptul ca baza de date este oprita in momentul in care se realizeaza aceasta actiune. Este important ca nici-un proces sa nu fie activ in baza de date cand se incearca oprirea bazei de date. O procedura de oprire corecta include verificarea ca toate procesele sa fie oprite inainte de folosirea comenzi SHUTDOWN NORMAL pentru oprirea bazei de date. Daca exista utilizatori conectati, baza de date nu va pute fi oprita cu optiunea NORMAL.

Dupa ce baza de date este oprita, fiecare fisiere al bazei de date este copiat fie pe un alt disk fie pe o banda. Acest proces se numeste copiere la nivel de fisier (file-level copy). Fisierele copiate ar trebui sa cuprinda toate fisierele de date, fisierele de reluare, fisierele de control, si fisierul INIT.ORA. Pentru a putea realiza backup-ul pentru fisiere exisa mai multe utilitare depinzand de sistemul de operare:

  • UNIX: obackup, tar, dd, fbackup, sau cpio
  • VMS: BACKUP
  • Windows NT: Backup Manager sau OCOPY
  • MAC: GUI Finder to copy to disk, third-party software such as Dantz Retrospect
  • OS/2: Standard DOS/OS2 copy
  • NetWare: utilitarul NetWare NBACKUP, third-party software
  • MVS: DFDSS sau IDCAMS folosind EXPORT (nu REPRO)

Dupa ce copiile la nivel de fisier sunt complete, baza de date este repornita. Cand copia este completa daca se intampla un dezastru, baza de date poate fi recuperata pana la starea in care era cand copia a fost facuta. Dezavantajul acestei metode este acela ca este foarte dificil, daca nu imposibil sa se recupereze unul sau mai multe tabele individual.

Cand se foloseste un cold backup in combinatie cu arhivarea fisierelor jurnal pentru recuperare, baza de date poate fiu recuperata pana la un anumit moment in timp. De exemplu presupunand ca se va face un backup pentru baza de date la miezul noptii sambata si arhivarea fisierelor jurnal pentru recuperare este pornita. Sistemul sufera un eveniment catastrofal miercuri la 2:30 P.M. Administratorul bazei de date va salva mai intai fisierele jurnal pentru recuperare si fisierele de control intr-o zona separata si apoi va rcupera fisierele din backup. Apoi DBA ar trebui sa inlocuiasca fisierele pentru recuperare vechi cu versiunile curent salvate si sa deruleze inainte fisierele jurnal de recuperare pana la 2:29 P.M. miercuri exact inainte de dezastru. Rezultatul va fi pierderea doar a tranzactiilor in proces care nu primisera commit la momentul cand a intervenit evenimentul.

1.3. Hot Backup

Hot backup este esential pentru un sistem care functioneaza 24 de ore pe zi , 7 zile pe saptamana. Numele vine de la faptul ca baza de date ramane pornita si activa in timp ce se realizeaza backup-ul. Sunt facute copii dupa fisierele de date (ca si in cazul cold backup). Modul archivelog trebuie activat. Pentru a incepe procesul de hot backup pentru fisierele de date ale unui spatiu tabel se lanseaza comanda:

ALTER TABLESPACE <ts_name> BEGIN BACKUP

Unde ts este numele spatiului tabel. Dupa lansarea acestei comenzi prin svrmgrl sau SQL*Plus, la nivelul sistemului de operare, se vor realiza dupa fisierele de date corespunzatoare spatiului tabel, copii pe un alt disk sau banda in acelasi mod ca pentru cold backup.

Pentru executarea unui hot backup ar trebui urmati urmatorii pasi:

  • Sa se foloseasca ALTER TABLESPACE ts_name END BACKUP dupa copierea completa a fisierelor pentru fiecare spatiu tabel.
  • Obtinerea fisierului jurnal pentru recuperare curent folosind ALTER SYSTEM SWITCH LOGFILE;
  • Obtinerea tuturor fisierelor jurnal pentru recuperare arhivate de la momentul in care procesul de backup a fost pornit si pana cand este complet.
  • Backup pentru fisierele de control folosind comanda ALTER DATABASE BACKUP CONTROLFILE TO `filespec';

Ca si in cazul cold backup, tabele individuale nu pot fi usor recuperate dar baza de date poate fi recuperata pana la un anumit moment.

1.4. Backup logic (Exporturi)

Exista cateva forme de export care pot fi executate:

  • Export complet al bazei de date
  • Un export pentru un utilizator sau exportarea unei scheme intregi
  • Exportul de tabele individuale sau seturi de tabele

In primul caz se lucreaza cu un instantaneu al intregi baze de date la un anumit moment. Fiecare obiect al bazei de date este capturat, inclusiv definitiile tuturor spatiilor tabel, utilizatori, tabele, vederi etc. Se poate executa un export pentru a captura toate obiectele detinute de mai multi utilizatori sau scheme, se poate exporta un tabel in particular sau mai multe tabele detinute de un utilizator sau schema. Spre deosebire de hot sau cold backup, care captureaza toate fisierele de date si continutul lor, un export captureaza doar anumite parti din baza de date sau o copie completa a bazei de date intr-un singur fisier comprimat.

Pentru a se realiza un export pentru o baza de date, aceasta trebuie sa fie pornita si activa. Unul dintre avantajele acestei metode de backup este acela ca permite recuperarea unui singur tabel sau a unui set de tabele. Daca a fost realizat un export complet al unei baze de date, se poate obtine un fisier care va contine o documentatie completa despre continutul bazei de date, lansand comanda import in combinatie cu parametrii 'show=y log=<filename>'.

Deoarece oricine care un cont privilegiat in baza de date poate realiza un import si poate vizualiza continutul bazei de date care a fost exportata, trebuie asigurat ca fisierele exportate sunt pastrate in intr-o zona a sistemului de operare cu acces restrans.

Prin folosirea exportului, baza de date poate fi recuperata doar pana la momentul in care a fost realizat exportul. Baza de date nu poate fi recuperata pana la un anumit moment de timp. Cu toate ca arhivarea fisierelor jurnal poate fi folosita in orice baza de date daca exista suficient spatiu sau depozitarea pe banda este disponibila pentru acel sistem, arhivarea fisierelor jurnal nu poate fi folosita in combinatie cu un export pentru a restaura o baza de date. Fisierele export sunt foarte portabile si pot fi folosite pentru a muta sau a copia o baza de date de pe un sistem pe altul. Totusi procesul de exportare poate fi foarte lent si nu pentru baze de date foarte mari. O caracteristica interesanta a procesului de export orice corupere a blocurilor de date; si face acest lucru esuand.

Exista cateva forme de export care se pot realiza folosind parametrul 'INC_TYPE='; se poate specifica:

COMPLETE

Pentru un export complet al bazei de date.

INCREMENTAL

Captureaza ce s-a schimbat de la ultima incrementare

CUMULATIV

Captureaza ce s-a schimbat de la ultimul export complet.

In toate aceste cazuri trebuie specificat parametrul 'FULL=Y'.

Informatiile despre un export care s-a realizat folosind 'INC_TYPE=' pot fi vazute din SQL*Plus realizand un SELECT din:

SYS.INCEXP

Pentru obiecte din exporturi specifice.

SYS.INCFIL

Pentru exporturi incremental si comulativ.

SYS.INCVID

2. Noutati aduse de Oracle8

Oracle8 aduce ca noutati cateva noi tipuri de tabele, incluzand tabele partitionate si indexate, tabel imbricat, tabele organizate pe baza de index. O alta noutate adusa de Oracle8 este posibilitatea de a defini tipuri de obiecte. Oracle8 ofera si posibilitatea de a realiza backup pentru obiectele care pot fi acum create.

2.1. Recovery Manager pentru Oracle8

Mediul Oracle8 contine o noua facilitate , Recovery Manager (RMAN). Recovery Manager furnizeaza flexibilitate permitand salvarea intregii baze de date, salvarea individuala a spatiilor tabel, sau individual a fisierelor de date. Recovery Manager porneste procesele server Oracle pentru baza de date pentru a fi salvata sau restaurata si poate sa scrie copiile direct intr-o unitate de depozitare, atata timp cat exista softul media management integrat in softul Oracle. Recovery Manager foloseste un catalog de recuperari pentru a pastra informatii despre sarcinile sale si activeaza automat operatiuni de restaurare si recuperare-in paralel, daca se doreste. Pot fi generate rapoarte la toate actiunile de backup si recuperare. Recovery Manager poate fi accesat ori in mod interactiv, ori in modul MS-DOS folosind CLI (command language intrerpreter) ori prin Oracle Enterprise Manager.

2.2. Backup-uri suportate de Recovery Manager

Doua tipuri de backup sunt posibile folosind Recovery Manager: backup set si copia imagine (image copy).

Backup set poate contine fie fisiere de date fie fisiere jurnal arhivate. Un singur tip de fisier poate fi stocat intr-un backup set dar mai multe fisiere de acelasi tip pot fi stocate in acelasi set. Adesea backup set este inregistrat pe banda. Un singur set s-ar putea sa nu se potriveasca exact pe o banda. Deci, daca seturi de backup urmeaza sa fie facute si scrise direct pe banda, cateva benzi ar trebui sa fie facute disponibile pentru backup. Seturile de backup pot fi pastrate pe disk sau pe benzi. Administratorul bazei de date ar putea pastra cele mai recente copii ale seturilor de backup ale bazei de date pe disk si cele mai vechi pe banda.

O copie imagine este copia unui singur fisier. Aceasta copie poate fi folosita pentru o restaurare, sau poate fi folosita direct pentru a redenumi un fisier de date intr-o baza de date. O copie imagine trebuie realizata pe un disk si trebuie sa existe spatiu suficient pentru a realiza aceasta forma de backup. O copie imagine poate fi facuta pentru fisiere jurnal arhivate, fisiere de control, dar fiecare copie imagine poate contine un singur fisier.

Este recomandat sa se realizeze copii imagini ale fisierelor pe disk-uri diferite de locatia fisierului care este copiat.

3. Care sunt optiunile pentru recuperare?

Exista mai multe moduri diferit in care o baza de date poate fi recuperata.

  • Ca instantaneu la un anumit moment
  • Pana la un moment dat
  • Until cancel

Pentru un intreg spatiu tabel, se poate restaura unu sau mai multe fisiere de date din backup-uri la nivel de fisier. Dintr-un export se poate restaura o intreaga schema, un tabel, sau un set de tabele. Folosind optiunea de import 'INDEXFILE=<file_name>', se poate obtine un script pentru construirea unui index sau un set de indexi dintr-un fisier export.

Exista doua moduri de a recupera o baza de date:

  • Online-cu baza de date deschisa
  • Offline-cu baza de date inchisa.

3.1. Recuperare Online

Pentru o recuperare online din interiorul bazei de date se foloseste comanda RECOVER TABLESAACE.si/sau RECOVER DATAFILEin tablespace recovery. Din exteriorul bazei de date, se foloseste utilitarul import pentru a recupera tabele, scheme, sau intreaga baza de date dintr-un fisier export.

3.2. Recuperare Offline

Printr-o recuperare offline din SQLDBA folosind svrmgr cu baza de date montata dar nu deschisa, se pot recupera spatiile tabel ca si o intreaga baza de date. Folosind aceasta metoda, daca un spatiu tabel a fost corupt si DBA este absolut sigur ca spatiul tabel poate fi reconstruit, fisierele de date asociate spatiului tabel pot fi alterate cu optiunea OFFLINE DROP si baza de date deschisa. In acest caz spatiul tabel va fi de neatins si trebuie sters imediat.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.