Dlaczego nie dziala backup tablespace?

0

Cześć,
Utworzyłem nowy schemat. Następnie utworzyłem tam tabele i je uzupełniłem danymi. Zrobiłem backup przestrzeni USERS gdzie znajdowaly sie moje tabelki.
Nastepnie usunalem tabele. commit. Zrobić przywracanie backup. I tabelki nadal nie ma. Czy ja coś zle rozumiem? Czy ten backup to jakos automatycznie caly czas sie updatejtuje?

http://jsystems.pl/blog/artykul.html?id=332

Korzystalem z tego powyzej.

2

Obstawiam, że wklepałeś polecenia na tzw. pałę i to co się wydarzyło to:

  • odtworzenie plików z backupu
  • wykonanie recovery na odtworzonych plikach
  • recovery wykonało się do momentu, do którego miałeś archive i redo logi, czyli pewnie do momentu "po usunięciu tabel"

Po wykonaniu drop table ... nie musisz commitować. W oraclu operacje DDL (create table ...) "robią" commita.
Usuniętą tabelę możesz przywrócić bez backupu: FLASHBACK TABLE ZIOMEK.TABELKA TO BEFORE DROP;

Doczytaj o Tablespace Point-in-Time Recovery (TSPITR).

0

Rzeczywiście. Zrobiłem przywracanie do konkretnego punktu w czasie i backup przywrocil moją tabelę.

run{
set until time ”to_timestamp('12:00:00 01-09-2011','hh24-mi-ss dd-mm-yyyy')”;
restore database;
recover database;
}
2

Tak, Twój backup działa. W uproszczeniu backup = snapshot danych z dysków i masz 2 opcje:

  • cold backup - składasz bazę, blokujesz zapisy na plikach bazy (dyskach) - masz spójny stan bazy na chwilę T0 -> robisz kopię 1-1 i masz spójny backup
  • hot backup - tworzony w czasie działania bazy, najczęściej wynikiem jest niespójny snapshot. Wynika to z tego, że w czasie tworzenia backupu, np. blok_1 odczytujesz w chwili T_1, zaś blok_N w chwili T_n. W chwil T_n blok_1 ma już inną zawartość - użytkownik popełnił commita na danych z tego bloku.

Oracle wszystkie zmiany transakcyjne zachowuje w tzw. redo logach (per transakcja zapisuje obraz bloku przed zmianą i po zmianie). "Stare" redo logi mogą być zapisywane jako historia i wtedy noszą nazwę "archive logów".

Jak odtwarzasz bazę, to :

  • robisz odtworzenie plików - restore database
  • uspójniasz odtworzone pliki - recover database (oracle wykorzystuje tu archive i redo logi)

Przy uspójnianiu masz możliwość wyboru, do jakiego punktu w czasie chcesz recovery robić. Zauważ, że tu jest istotne posiadanie jakiegoś punktu startowego (pełen backup) + odpowiedniej historii archive logów. W Twoim przypadku "recover database" miało najwyraźniej wszystko co potrzeba i uspójniło bazę do chwili, gdy ją wyłączyłeś.

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