The Geek Diary
Cet article couvre les étapes détaillées de création d’une base de données de veille physique sur un système de fichiers normal en utilisant RMAN pour une base de données primaire dans ASM.
Aperçu
Ici, la base de données de secours peut être créée en utilisant les 2 méthodes suivantes:
- Restauration et récupération normales à l’aide de RMAN.
- Création d’une base de données en double pour la veille à l’aide de RMAN.
Méthode 1
- Effectuer la sauvegarde de la base de données principale ASM (Fichiers de données, Fichier de contrôle pour le standby et les Archivelogs)
- Rendre les pièces de sauvegarde disponibles sur le serveur de Standby.
- Créez le fichier de paramètres et le fichier de mot de passe en veille.
- Configurez Oracle net services sur les deux serveurs.
- Effectuer la restauration et la récupération sur la base de données en veille.
- Configurez la base de données principale pour transférer les archives en veille.
- Lancez le Redo apply en mettant la base de données en mode géré de récupération.
Méthode 2
Utilisez la fonction RMAN Duplicate pour créer la base de données de secours. Les étapes pour accomplir la même chose sont décrites dans le post suivant.
Méthode 1 – Restauration et récupération normales à l’aide de RMAN
1. Effectuer la sauvegarde de la base de données principale ASM (Fichiers de données, Fichier de contrôle pour les Archivelogs en veille & )
$ rman target / RMAN> backup database format '/backup/database_%U.bkp';RMAN> backup archivelog all format '/backup/archivelog_%U.bkp';RMAN> backup current controlfile for standby format '/backup/stdb_cntl_%U.bkp';
2. Rendre les pièces de sauvegarde disponibles sur le serveur de secours:
– FTP ou SCP les pièces de sauvegarde vers le serveur de secours. Tout en faisant FTP, assurez-vous de le faire en mode binaire uniquement. OU
– Montage NFS puis montez le serveur NFS sur le serveur de secours avec le même nom que celui que vous avez monté sur la base de données principale. OU
– Si les sauvegardes sont sur bande, assurez-vous d’apporter les modifications appropriées sur le serveur de secours afin de pouvoir restaurer les sauvegardes sur le serveur de secours.
3. Créez le fichier de paramètres & fichier de mot de passe en veille. Copiez le fichier de paramètres de base de données principal et apportez les modifications nécessaires:
db_unique_name='stnd_db'instance_name='stnd_db'standby_archive_dest=''db_file_name_convert='+DATA/prim_db/datafile/', '/u01/oradata/stnd_db/', '+DATA/prim_db/tempfile/', '/u01/oradata/stnd_db/' log_file_name_convert='+DATA/prim_db/onlinelog/', '/u01/oradata/stnd_db/'
Créez le fichier de mot de passe pour la base de données de secours avec le même mot de passe que le mot de passe principal
$ export ORACLE_SID=stand_db $ orapwd file=orapwstand_db password=oracle
4. Configurer Oracle net services sur les deux serveurs
In standby server - configure listener.In Primary server - configure tnsnames for standby. - check connectivity using tnsping.
5. Effectuer une restauration et une récupération sur la base de données en veille. Démarrez Nomount l’instance de veille et restaurez le fichier de contrôle de veille à partir de la sauvegarde du « fichier de contrôle de veille » effectuée à l’étape 1.
$ export ORACLE_SID=stnd_db$ rman target /RMAN> restore standby controlfile from '/backup/stdb_cntl_3oqff2fb_.bkp';
– Vous devez utiliser l’option ‘fichier de contrôle en veille’ comme
RMAN> RESTORE STANDBY CONTROLFILE from ...
sinon, le paramètre de conversion DB_FILE_NAME_CONVERT n’est PAS utilisé.
RMAN> REPORT SCHEMA ; ( or sql> select name from v$datafile ; )
Monter la base de données
RMAN> Alter database mount;
Si les pièces de sauvegarde sont exactement dans la même structure de répertoire ou si la structure de répertoire est montée NFS sur le serveur de secours, restaurez directement la base de données sinon, si les pièces de sauvegarde sont à un emplacement différent, vous devez les cataloguer manuellement. Exemple:
RMAN> catalog backuppiece '/backup/database_2x21kd12.bkp';
Pour plus d’informations sur les options de catalogage, reportez-vous à l’article ci-dessous:
Restaurer la base de données
Restaurer la base de données en utilisant la syntaxe suivante (utilisez set newname)
RMAN> run { set newname for datafile 1 to '': Set newname for datafile 2 to ''; . . restore database; Switch datafile all; }
Récupérez la base de données
Apprenez à connaître la dernière séquence disponible dans la sauvegarde archivelog à l’aide de la commande suivante.Cela nous aidera à récupérer la base de données jusqu’à cet archivelog.
RMAN > list backup of archivelog all;
Supposons que la dernière séquence du dernier archivelog dans la sauvegarde soit 50. Puisque nous récupérons la base de données ici jusqu’à la séquence archivelog 50, le numéro de séquence dans la clause UNTIL SEQUENCE devrait être 50 (+1)
RMAN> Recover database until sequence 51;
6. Configurez la base de données principale pour transférer les archives en mode veille. Définissez le paramètre suivant dans la base de données principale:
log_archive_dest_2='SERVICE=stnd_db'
Effectuez un changement de journal et assurez-vous que les archives sont transférées vers la destination de secours.
7. Lancez l’application Redo en mettant la base de données en mode géré de récupération. Dans la base de données en veille, démarrez le processus de récupération gérée:
SQL> Recover managed standby database disconnect from session;