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 catalogueRMAN> 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.