Oracle
 sql >> Base de données >  >> RDS >> Oracle

Étapes pour synchroniser la veille avec la base de données principale dans Oracle

Dans ces didacticiels, vous apprendrez les étapes pour synchroniser la veille avec la base de données principale dans Oracle.

Nous pouvons effectuer la synchronisation de la base de données de secours avec la base de données principale lorsque :

  • S'il existe un écart énorme entre la base de données principale et la base de données de secours
  • Si les journaux d'archivage sont manquants sur le serveur principal
  • Si les journaux d'archives sont corrompus sur le serveur principal

Étapes pour synchroniser la veille avec la base de données principale dans Oracle

Étape 1 :Sur la base de données en attente - annulez la récupération sur la base de données en attente avec la commande ci-dessous.

Sql>alter database recover managed standby database cancel;

Étape 2 :Sur la base de données principale – Déterminer le point à partir duquel la veille est désynchronisée

sql>column current _scn for 999999999

sql>select current_scn from  v$database;

Étape 3 :Sur la base de données principale – Déterminez si un fichier de données a été ajouté à la base de données principale après que la base de données de secours a été désynchronisée. Si oui, nous devons restaurer ce fichier de données en veille séparément. Si aucun fichier de données n'a été ajouté, continuez l'activité de synchronisation en veille en suivant les étapes ci-dessous.

sql>select  file#, name, creation_change#  from v$datafile_header where creation_change#  >= Step 2's scn;

Étape 4 :Sur la base de données principale, effectuez une sauvegarde incrémentielle basée sur SCN à l'aide de RMAN. Ici, nous utilisons le numéro SCN que nous avons obtenu à l'étape 2. Cette sauvegarde doit être effectuée sur disque. Et n'oubliez pas d'allouer des canaux lors d'une sauvegarde afin que la sauvegarde soit plus rapide.

De plus, nous prenons le contrôle de la sauvegarde des fichiers.

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';

Étape 5 :Transférez les fichiers de sauvegarde de la base de données principale vers la base de données de secours

Au primaire –

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/

Étape 6 :  En veille  –  Connectez-vous à rman et cataloguez la sauvegarde copiée

Le catalogue
RMAN> catalog start with  '/u002/rman_stdby/';

Étape 7 :Sur la base de données de veille – Restaurez maintenant le fichier de contrôle à partir de la sauvegarde

RMAN>restore standby control file to '/tmp/control.ctl';

Étape 8 :Sur la base de données de secours - Copiez maintenant le fichier de contrôle de secours restauré à son emplacement d'origine. Utilisez la commande ci-dessous pour obtenir l'emplacement d'origine d'un fichier de contrôle.

sql>show parameter control_files    

#OR

sql>select name from v$controlfile;

Et remplacez le fichier de contrôle de l'emplacement d'origine par /tmp/control.ctl

Étape 9 :En veille – Arrêtez maintenant la base de données de secours

sql>shutdown immediate

sql>startup mount

Étape 10 :En veille – Restaurez maintenant le fichier de données de l'étape 3 à l'aide de rman. Nous n'effectuons cette étape que si nous obtenons une sortie à l'étape 3.

RMAN>restore data file datafile_number(from step3);

RMAN>recover database noredo;

Étape 11 :En veille - Lancez maintenant la récupération avec la commande ci-dessous.

sql>recover managed standby database disconnect from session;

Étape 12 :Vérifiez si la base de données de secours est synchronisée avec la base de données principale. Consultez la liste des journaux d'archives des deux côtés pour voir les séquences de journaux actuelles

Maintenant, vous avez appris les étapes pour synchroniser la veille avec la base de données principale dans l'environnement réel Oracle.