Cofnięcie stanu bazy do określonego stanu

0

Witam

Jaki chce uzyskać efekt:
Mam bazę oracle. Są w niej zawarte wszystkie potrzebne dane do wykonania testu. Nazwijmy to sanem bazy "A". Teraz wykonuje pewne operacje w aplikacji (test), stan bazy zmienia mi się stan bazy na "B". Ponieważ niektóre dane podczas testu są unikalne (np. PESEL) nie moge powtórnie wykonać tych samych operacji na bazie po stanie "B". Aby to zrobić musze w sprawny sposób cofnąć się do stanu "A".

Co dotychczas mi się udało:
-Pierwszy sposób to exp/imp - rozwiązuje problem jednak trwa dłuuugo i ogólnie jest to problematyczne ze względu na zajmowane miejsce/lokacje tablespaców itp.

-Cold backup - bez włączonych archivelogów zrobiłem rmanem backup. Ujdzie, jednak gdy pomyślałem ze po dodaniu nowych skryptów na bazie znowu będe musiał nowego duużo zajmujaćego backupa zrobić to poszukałem czegoś lepszego.

-Potem znalazłem backup przyrostowy: zrobiłem Level 0 potem Level 1 i juz się cieszyłem że jest OK. Cofa mi się do ostaniego backupu a skoro jest w stanie "B" i są właczone archivelogi-wg niego wsio jest Ok to cofa mi się s tan "B" czyli praktycznie nic nie robi.

  • Na końcu znalażłem że można się do danej sekwencji/scn cofnąc. I tu problem: z niewiadomych dla mnie powodów rman sypie błąd:
RMAN> run {
2> set until sequence=101;
3> restore database;
4> recover database;
5> }

wykonywanie polecenia: SET until clause

Rozpoczŕcie restore o 14/05/21
przydzielono kana-: ORA_DISK_1
kana- ORA_DISK_1: SID=156 typ urz¦dzenia=DISK

tworzenie pliku danych (nr pliku=1 nazwa=I:\APP\LUCJAN\ORADATA\MEDAUTO01\SYSTEM01.DBF)
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: niepowodzenie polecenia restore w 05/21/2014 09:27:48
ORA-01180: nie mo¬na utworzyŠ pliku danych 1
ORA-01110: plik danych 1: 'I:\APP\LUCJAN\ORADATA\MEDAUTO01\SYSTEM01.DBF'

O dziwo jeżeli robie restore cały to rman nie ma problemu z jakimkolwiek dostępem. A tutaj chce utowrzyc plik DBF który przeciez już fizycznie istnieje - jak to rozumieć?

A pytanie ogólne - czy ja dobrze do tego podchodzę. Czytałem jeszcze o Flashbackup, snapshotach i checkpointach ale na razie to zostawiłem. Możne jakoś inaczej i prosciej (priorytet to szybkosc restore bazy i jaknajmniejsza zajmowana przestrzeń backupów).

0

Możesz sobie to zainstalować na wirtualce i po prostu podmieniać wirtualki?

0

Wykonuj test w transakcji, a na koniec ją cofnij. Oracle chyba już obsługuje transakcje?

0

Błąd o którym pisałem rozwiązał się gdy przekręciłem licznik sekwencji logów.
alter system switch logfile;

I faktycznie to rozwiązanie działa - zapamiętujac nr sekwencji cofa mnie do punktu "A".

Doczytałem i chyba "Gwarantowane Punkty Przywracania (Guaranteed Restore Point)" z FlashBack to jest to co potrzebuje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1