W tych samouczkach dowiesz się, jak zsynchronizować tryb gotowości z podstawową bazą danych w Oracle.
Możemy wykonać synchronizację bazy danych w trybie gotowości z podstawową, gdy:
- Jeśli istnieje duża luka między podstawową a rezerwową bazą danych
- Jeśli brakuje dzienników archiwum na podstawowym
- Jeśli logi archiwum są uszkodzone na podstawowym
Kroki synchronizacji trybu gotowości z podstawową bazą danych w Oracle
Krok 1:W trybie gotowości DB – anuluj odzyskiwanie w trybie gotowości za pomocą poniższej komendy.
Sql>alter database recover managed standby database cancel;
Krok 2:W podstawowej bazie danych — określ punkt, od którego tryb gotowości nie jest zsynchronizowany
sql>column current _scn for 999999999 sql>select current_scn from v$database;
Krok 3:W podstawowej bazie danych — Określ, czy jakikolwiek plik danych został dodany do podstawowej bazy danych po tym, jak rezerwowa baza danych nie była zsynchronizowana. Jeśli tak, musimy osobno przywrócić ten plik danych w trybie gotowości. Jeśli nie dodano żadnego pliku danych, kontynuuj synchronizację w trybie gotowości, wykonując poniższe czynności.
sql>select file#, name, creation_change# from v$datafile_header where creation_change# >= Step 2's scn;
Krok 4:W podstawowej bazie danych — wykonaj przyrostową kopię zapasową opartą na SCN za pomocą RMAN. Tutaj używamy numeru SCN, który otrzymaliśmy z kroku 2. Ta kopia zapasowa powinna zostać umieszczona na dysku. I nie zapomnij przydzielić kanałów podczas tworzenia kopii zapasowej, aby kopia zapasowa była szybsza.
Przejmujemy również kontrolę nad tworzeniem kopii zapasowych plików.
RMAN> run{ allocate channel ch 15 device type disk ; backup as compressed backupset incremental from scn ( scn from step 2) database format '/u002/rman/inc_backup_%U' release channel ch 15; RMAN>backup current controlfile for standby format '/u001/tmp/standby_ctrl.bkp';
Krok 5:Przenieś pliki kopii zapasowej z podstawowej bazy danych do rezerwowej bazy danych
Na podstawowym –
OS> scp -p /u002/rman/inc_back* [email protected]:/u002/rman_stdby/ OS> scp -p /u002/rman/standby_ctrl.bkp [email protected]:/u002/rman_stdby/
Krok 6:W trybie gotowości – Połącz się z rman i skataloguj skopiowaną kopię zapasową
KatalogRMAN> catalog start with '/u002/rman_stdby/';
Krok 7:W trybie gotowości DB – teraz przywróć plik kontrolny z kopii zapasowej
RMAN>restore standby control file to '/tmp/control.ctl';
Krok 8:W trybie gotowości DB — Teraz skopiuj przywrócony plik kontrolny trybu gotowości do jego pierwotnej lokalizacji. Użyj poniższego polecenia, aby uzyskać oryginalną lokalizację pliku kontrolnego.
sql>show parameter control_files #OR sql>select name from v$controlfile;
I zamień plik kontrolny z oryginalnej lokalizacji na /tmp/control.ctl
Krok 9:W trybie gotowości – teraz wyłącz bazę danych w trybie gotowości
sql>shutdown immediate sql>startup mount
Krok 10:W trybie gotowości – Teraz przywróć plik danych z kroku 3 za pomocą rman. Wykonujemy ten krok tylko wtedy, gdy otrzymujemy dane wyjściowe w kroku 3.
RMAN>restore data file datafile_number(from step3); RMAN>recover database noredo;
Krok 11:W trybie gotowości – teraz rozpocznij odzyskiwanie za pomocą poniższego polecenia.
sql>recover managed standby database disconnect from session;
Krok 12:Sprawdź, czy rezerwowa baza danych jest zsynchronizowana z podstawową bazą danych. Sprawdź listę dzienników archiwum po obu stronach, aby zobaczyć bieżące sekwencje dzienników
Teraz nauczyłeś się, jak zsynchronizować tryb gotowości z podstawową bazą danych w rzeczywistym środowisku Oracle.