Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Kroki synchronizacji trybu gotowości z podstawową bazą danych w Oracle

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ą

Katalog
RMAN> 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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak łączyć ciągi?

  2. Jaka jest domyślna precyzja i skala liczby w Oracle?

  3. Funkcja TAN() w Oracle

  4. Jak można wielokrotnie uruchomić to samo zapytanie przy użyciu pętli w PL/SQL?

  5. Jak uzyskać aktualny obiekt Connection w Spring JDBC?