Koskee seuraavia:
Oracle-tietokanta – 11gR2
Ongelma:
Tehtäessä arviointitestejä (benchmarking) on usein ladattava puhdas tietokanta ennen uuden ajon käynnistämistä. Tietokannan puhtaus voidaan varmistaa luomalla koko tietokanta uudelleen ennen jokaista testiajoa, mutta tietokannan koosta riippuen se saattaa olla varsin tehotonta ja aikaa vievää.
Ratkaisu:
Tämä artikkeli sisältää ohjeet, joiden avulla tietokannan voi palauttaa nopeasti työmäärän suorittamista edeltävään tilaan käyttämällä Oraclen Flashback-ominaisuutta. Tarkemmin sanottuna tässä artikkelissa on ohjeet taattujen palautuspisteiden käyttöön.
Palautuspiste:
Palautuspiste on vain tietokannan aikaleimaan tai SCN-numeroon liitetty nimi. Palautuspisteitä on kahdenlaisia: tavallisia ja taattuja. Ne eroavat toisistaan siinä, että taattu palautuspiste mahdollistaa palaamisen palautuspisteeseen DB_FLASHBACK_RETENTION_TARGET -alustusparametristä huolimatta, eli se on aina käytettävissä (kunhan Flash-palautusalueella on riittävästi tilaa).
HUOMAUTUS: tässä artikkelissa Flashback-kirjaus oli poissa käytöstä.
Taatut palautuspisteet:
Ennakkovaatimukset: taatun palautuspisteen luomiselle on seuraavat ennakkovaatimukset:
- käyttäjällä on oltava järjestelmän SYSDBA-käyttöoikeudet
- flash-palautusalue on luotava
- tietokannan on oltava ARCHIVELOG-tilassa.
Taatun palautuspisteen luominen:
Kun olet luonut uuden tietokannan tai siirtynyt käyttämään uutta tietokantaa, ensimmäiseksi kannattaa luoda taattu palautuspiste, jotta voit palata siihen aina ennen uuden työmäärän aloittamista. Toimi seuraavasti:
- $> su – oracle
- $> sqlplus / as sysdba;
- Selvitä, onko ARCHIVELOG käytössä
SQL> select log_mode from v$database;
Jos vaiheessa 3 ilmenee, että ARCHIVELOG ei ole käytössä, jatka eteenpäin. Muussa tapauksessa siirry vaiheeseen 8.
- SQL> shutdown immediate;
- SQL> startup mount;
- SQL> alter database archivelog;
- SQL> alter database open;
- SQL> create restore point CLEAN_DB guarantee flashback database;
missä CLEAN_DB on taatulle palautuspisteelle annettu nimi.
Taatun palautuspisteen tarkasteleminen
SQL> select * from v$restore_point;
Tarkista luodun palautuspisteen tiedot. Kirjoita myös SCN-numero muistiin. Käytämme siitä nimitystä viite-SCN-numero.
Palauttaminen taattuun palautuspisteeseen
Voit palauttaa tietokantasi taattuun palautuspisteeseen seuraavasti:
- $> su – oracle
- $> sqlplus / as sysdba;
- SQL> select current_scn from v$database;
- SQL> shutdown immediate;
- SQL> startup mount;
- SQL> select * from v$restore_point;
- SQL> flashback database to restore point CLEAN_DB;
- SQL> alter database open resetlogs;
- SQL> select current_scn from v$database;
Vertaa kohdan 9 SCN-numeroa viite-SCN-numeroon.
HUOMAUTUS: kohdan 9 SCN-numero ei välttämättä ole tismalleen sama kuin viite-SCN-numero, mutta se on riittävän lähellä.
Viitteet: