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ś.