Najvažniji zadatak svakog Oracle DBA je da se pobrine da u svakom trenutku na raspolaganju ima najsvežiji backup baze u slučaju da se desi neka nepredviđena situacija u kojoj može doći do gubitka podataka u bazi. Ako bi došlo do te situacije Oracle DBA je dužan da bazu, tj. podatke u njoj, vrati u stanje u koje je bila prije nego što se problem desio.
Postoje dvije osnovne vrste backup-a Oracle baze podataka: Fizički backup i Logički backup.
Prvo ću objasniti dva osnovna tipa "kvara" koji mogu prouzrokovati gubitak ili oštećenje podataka u Oracle bazi podataka, a to su korisničke greške (logička korupcija podataka) i sistemski "ispadi" (fizička korupcija podataka).
1. Logička korupcija podataka nastaje kada korisnik na bazi svojom nepažnjom, neznanjem ili zbog propusta na aplikaciji sa kojom radi izazove gubitak ili oštećenje podataka.
2. Fizička korupcija podataka može nastati u sledećim situacijama: zbog otkazivanja diska na serveru na kojem su smješteni Oracle data fajlovi, zbog neočekivanog i naglog gašenja servera (nestanak električnog napajanja), zbog problema sa operativnim sistemom na serveru na kojem je instalirana Oracle baza podataka, zbog nepažnje administratora (slučajno brisanje baznih data fajlova), itd.
Način oporavka Oracle baze zavisi od načina na koji je napravljen backup, zato za svaku metodu backup-a postoji posebna (odgovarajuća) metoda oporavka.
Kao što sam već rekao backup Oracle baze podataka može se napraviti u vidu fizičkog backup-a cjelokupne baze podataka ili u vidu logičkog export-a (backup-a) važnih (korisničkih) podataka.
1. Fizički backup Oracle baze podataka podrazumijeva kreiranje rezervne kopije cjelokupne baze podataka, tj. svih njenih fajlova. Fizički backup Oracle baze podataka može se napraviti na dva osnovna načina, odnosno metoda: User Managed backup i RMAN backup.
- User Managed backup predstavlja kreiranje rezervnih kopija Oracle baze podataka pomoću komandi operativnog sistema na kojem je baza instalirana. Ova metoda podrazumijeva prosto kopiranje svih baznih fajlova iz foldera u kojima se oni nalaze na neku bezbjednu lokaciju (drugi disk ili neki network share). Međutim, ako baza radi u NOARCHIVELOG modu, da bi backup bio validan, tj. da bi podaci u bazi bili konzistentni, ovakav način backup-a Oracle baze podataka može se vršiti samo ako je baza ugašena (offline). Zato je za ovakav način backup-a najbolje napraviti skriptu koja će prije početka backup-a ugasiti bazu, napraviti njen backup (opciono uraditi kompresiju backup fajlova) i na kraju startovati bazu, i onda podesiti da se ta skripta pokreće u neko vrijeme kada niko ne radi na bazi. U nekim slučajevima nije moguće gasiti Oracle bazu podataka ni u kojem trenutku, da bi se napravio backup ovakve baze ta baza mora raditi u ARCHIVELOG modu.
Procedura je sledeća:
- Prvo se podesi da baza radi u backup modu komandom (kao SYS user):
SQL> alter database begin backup;
- Zatim se izvrši backup svih Oracle baznih fajlova.
- Nakon toga, podesi se da baza radi u normalnom modu komandom:
SQL> alter database end backup;
- Na kraju izvrši se backup svih arhiviranih redo log fajlova koji su nastali u periodu od početka do kraja backup-a Oracle baze podataka.
Takođe, i ovaj vid backup-a je moguće automatizovati pisanjem backup skripti na nivou operativnog sistema.
Međutim, User Managed backup Oracle baze podataka ima par nedostataka zbog kojih se ovaj metod rijetko primjenjuje. Nedostaci ovog metoda su: ponekad komplikovana i spora restore/recovery procedura (procedura oporavka Oracle baza podataka), zatim administrator mora da pamti (ili da zna) gdje je i kad napravljen poslednji backup, kao i da se brine o tome da medium na koji se smješta backup ne ostane bez slobodnog prostora, moguće je napraviti samo full backup cjelokupne baze podataka, itd.
- RMAN backup predstavlja metod kreiranja rezervne kopije Oracle baze podataka upotrebom Recovery Manager (RMAN) alata koji se instalira zajedno sa Oracle bazom podataka. RMAN alat je vrlo moćan alat koji u značajnoj mjeri olakšava posao Oracle DB administratorima. Kada se jednom podesi RMAN preuzima na sebe cio proces backup-a i oporavka (restore/recovery) Oracle baze podataka. Pored toga RMAN omogućava i napredne metode backup-a Oracle baze podataka kao npr. inkrementalni backup.
Podešavanje RMAN-a:
Postoje dva načina podešavanja RMAN-a za backup Oracle baze podataka: podešavanje pomoću Control fajlova i podešavanje pomoću RECOVERY CATALOG-a. Ako se za podešavanje RMAN-a koriste Control fajlovi procedura je sledeća:
- Konekcija na RMAN:
$ cd $ORACLE_HOME/bin
$ rman target sys/pass@DBSID nocatalog
npr.
- Konfiguracija RMAN-a:
Komandom
RMAN> show all;
Dobijamo sva aktuelna podešenja Recovery Manager-a.
Ovdje se komandom CONFIGURE ... mogu podesiti željena podešenja. Npr. može se podesiti da RMAN čuva zadnja tri backup-a Oracle baze podataka, umjesto zadnja dva kako je to trenutno podešeno:
I tako dalje ... ovdje se može podesiti format backup-a, lokacija backup-a i još dosta parametara.
Backup Oracle baze pomoću RMAN-a:
Za backup Oracle baze pomoću RMAN-a dovoljno je pokrenuti sledeću komandu (pod uslovom da baza radi u ARCHIVELOG modu):
RMAN> backup database;
Takođe, za oporavak dovoljo je pokrenuti samo dvije komande i RMAN će uraditi oporavak baze iz poslednjeg validnog backup-a. Komande su:
RMAN> restore database;i
RMAN> recover database;
Za konfiguraciju RMAN-a pomoću RECOVERY CATALOG-a potrebno je kreirati posebnu Oracle bazu (na posebnom serveru) u koju će se smještati podaci o backup-u produkcione Oracle baze podataka. Konfiguraciju RMAN-a pomoću RECOVERY CATALOG-a objasnići u nekom narednom post-u.
2. Logički backup podataka podrazumijeva upotrebu odgovarajućih Oracle-ovih alata za export korisničkih podataka iz Oracle baze podataka. Postoje dva ovakva alata: exp i expdp (DataPump).
Ovi alati Oracle DB administratoru omogućavaju backup samo važnih (korisničkih) podataka iz Oracle baze podataka, mada ovim se alatima može napraviti backup i cijele Oracle baze podataka.
Međutim, glavna funkcija ovih alata je omogućavanja kopiranja korisničkih podataka iz jedna Oracle baze u drugu Oracle bazu.
EXP alat je prosti alat za kreiranje export-a (backup-a) podataka iz neke schema-e.
Evo kako radi:
$ cd $ORACLE_HOME/bin $ exp schema/pass@DBSID file=/home/oracle/schema_exp.dmp log=/home/oracle/schema_exp.log
EXPDP je napredniji alat za kreiranje export-a podataka iz neke schema-e i njega ću detaljnije opisati u nekom narednom post-u.
No comments:
Post a Comment