baza PRIMARY


  1. uruchomienie trybu ARCHIVELOG
  2. uruchomienie logowania do redologów wszystkich obiektów – „ALTER DATABASE FORCE LOGGING;”
    spradzenie – ” SELECT force_logging FROM v$database
  3. wpisanie do tnsname namiaru na bazę STANDBY
  4. wpisanie do pliku INIT:
    log_archive_dest_1=’location=[archivelog_path]’
    log_archive_dest_2=’service=[standby_tnsname] mandatory reopen=60′
  5. wyłączenie bazy lub wprowadzenie w tryb backup – „ALTER DATABASE BEGIN BACKUP;”
  6. wykonanie kopii plików bazy – bez redologów;
  7. włączenie bazy lub wyjście z trybu backup = „ALTER DATABASE END BACKUP;”
  8. wykonanie pliku kontrolnego dla bazy STANDBY – „ALTER DATABASE CREATE STANDBY CONTROLFILE AS '[file_path]’;”
  9. wykonanie kopii plików archiwalnych bazy powstałych w czasie backupu
  10. przerzucenie skopiowanych plików na bazę STANDBY

baza STANDBY


  1. wpisanie do pliku INIT:
    log_archive_dest_1=’location=[archivelog_path]’
    standby_archive_dest=[archivelog_from_primary_path]
    db_file_name_convert='[datafile_primary_dir_path]’,'[datafile_standby_dir_path]’
    log_file_name_convert='[redolog_primary_dir_path]’,'[redolog_standby_dir_path]’

    opis:
    log_archive_dest_1 – wskazuje gdzie będą pliki archiwalne kiedy baza zostanie aktywowana
    standby_archive_dest – wskazuje gdzie będą wrzucane archivelogi z bazy PRIMARY
    db_file_name_convert – ustawia mapowanie ścieżki do katalogu z plikami danych, konieczne ponieważ w pliku controlfile będą namiary z bazy PRIMARY
    log_file_name_convert – analogicznie tylko dla redolgów

  2. skopiowanie plików danych i archivelogów do odpowiedniej lokalizacji (pamiętać o ustawieniu praw i właściciela)
  3. skopiowanie i powielenie wcześniej utworzonego pliku kontrolnego zgodnie z wartościami w pliku INIT
  4. uruchomienie bazy:
    startup nomount
    alter database mount standby database
    alter database recover managed standby database disconnect from session

przydatne kwerendy:
SELECT sequence#,first_time,next_time,applied FROM v$archived_log ORDER BY sequence# desc;
SELECT * FROM v$archive_gap;
SELECT process,status,sequence#,thread# FROM v$managed_standby;
SELECT open_mode FROM v$database;
ALTER SYSTEM ARCHIVE LOG CURRENT;
otwarcie bazy do odczytu (baza przyjmuje archivelogi jednak ich nie uaktualnia):
alter database read only;
komunikat:

ERROR at line 1:
ORA-01154: database busy. Open, close, mount, and dismount not allowed now

recover managed standby database cancel;
komuniat:

Media recovery complete.

alter database open read only;
powrót do trybu standby:
shutdown immediate;
dalej w/g punktu 4 – uruchamianie bazy
aktywacja bazy standby:
recover managed standby database cancel;
shutdown immediate;
startup nomount;
alter database mount standby database;
#skopiować ostatni redolog z bazy PRIMARY;
recover standby database;
#w trybie interaktywnym wpisać lokalizację powyższego pliku
alter database activate standby database;
shutdown immediate;
startup;