Temat: skąd data przy recover z set until time

Witam,
dzisiaj odtwarzałem bazę na punkt w czasie i pojawiło się pytanie na DOKŁADNIE jaką datę i godzinę odtwarzana jest baza.
Scenariusz:
Odtwarzam bazę na tydzień wstecz, podłączam się do catalogu który jest na innym hoście i ustawiam czas na który będzie odtwarzana baza i ją odtwarzam, mniej więcej tak:
run{
set until time "to_date('14-08-2012 15:48:31','DD-MM-YYYY HH24:MI:SS')";
recover database;
}

...wszystko ładnie się odtwarza. Jednak jeżeli odtwarzałbym do scn, no to sprawa prosta i wiadomo - w archived logach jest scn, ale skąd dokładnie brana jest data? Z hosta na którym odtwarzana jest baza, z hosta na którym jest catalog, z bazy catalogu?

Temat: skąd data przy recover z set until time

...no to chyba sam sobie odpowiem, ale żeby było dla potomności to zrobię to tutaj ;)
"UNTIL TIME" wcale nie jest takie dokładne!!!!!!! z v$history_log brane są SCNy i najbliższe daty, jak scnowi 11111111 odpowiada godzina 7:21:30 a scn 11111112 7:21:40, to jeżeli damy UNTIL TIME do 7:21:35, to odtworzy się do 7:21:40, bo co się działo o 7:21:35 to oracle już nie wie.
Jeżeli się mylę, to mnie poprawcie.
Szymon K.

Szymon K. Oracle DBA

Temat: skąd data przy recover z set until time

A co się działo o 7:21:35? Nic ;) Jak sam napisałeś: oś czasu życia bazy nie jest liniowa tylko dyskretna z dokładnością do SCNa. To tak jakbyś chciał odkręcić bazę do SCN: 11111111.5 ;) Poza tym pamiętaj o tym, że przy wykonaniu recover następuje wycofanie transakcji niezatwierdzonych we wskazanym SCNie.

Temat: skąd data przy recover z set until time

Szymon, jest dokladnie tak jak mowisz:chcialbym sie cofnac do scn 11111,5 a te dane ktore nie sa zatwierdzone wycofac. A oracle zamiast zatrzymac sie w tym czasie i wycofac niektore transakcje odtwarza wszystko do nastepnego scn - czyli w moim przypadku dane ktorych nie chcialem bo w tym czasie wystapila wlasnie failura. Wniosek:jednak wycofywac do scn i miec pewnosc z ktorej dokladnie godziny sa dane.
Maciej W.

Maciej W. Oracle developer

Temat: skąd data przy recover z set until time

Dodam swoich 5 groszy (chociaż DBA ze mnie jeszcze żaden):
Oracle ma swój czas który jest... no właśnie... czym? i w jakiej strefie czasowej? Jeśli ustawimi bazie jej strefę czasową to będzie z niej korzystać. Jeśli nie to powinien brać tę systemową.
Przywracanie chyba najlepsze do SCN'a bo najpewniejsze - tyle że requesty zazwyczaj będą "do punktu w czasie" albo "do ostatniego punktu życia bazy". Z tego co wiem to commit prowadzi do zapisu danych do loga i datafile'i a więc zwiększa SCN. Ciekaw jestem co się dzieje z common write batch nowait.

Następna dyskusja:

ORA-56935: existing datapum...




Wyślij zaproszenie do