Comment dupliquer une base, créer un dataguard avec un minimum de configuration réseau ? La solution réside dans la nouvelle fonctionnalité rman 12c restore from service.
Principe
Son principe est de restaurer les fichiers de données à travers le réseau. La clause from service de rman spécifie un nom de service de la base source ou cible selon le serveur à partir duquel la restauration se fait.
Paramétrage
Le paramétrage est simple : juste définir une entrée dans le fichier tnsnames.ora du serveur source/cible qui est associée à la base source/cible.
Architecture
Réalisation
L’exemple ci-dessous est la reconstruction d’un active dataguard utilisant le dataguard broker.
Actions à réaliser sur la base primaire
- Arrêt du transfert
alter system set log_archive_dest_state_2 = defer scope=both sid='*' ; alter system set standby_file_management = manual scope=both sid='*' ;
- Désactivation du Data Guard broker via dgmgrl
show configuration ; disable configuration ;
- Création du standby controlfile
alter database create standby controlfile as '/home/oracle/jae/pilotprdstandby.ctl' ;
- Transfert du standby controlfile sur le serveur standby
scp /home/oracle/jae/pilotprdstandby.ctl 10.130.0.225:/home/oracle/jae
- Calcul de la taille du section size pour le restore
select round(avg(bytes/1024/1024/1024),0) "AVG File Size Go", round(round(avg(bytes/1024/1024/1024),0)/4,0) "Section Size Go" from v$datafile;
Actions à réaliser sur le serveur standby
- création du pfile à partir du spfile
create pfile='/home/oracle/jae/init_bef_rebuild_dataguard_node.ora' from spfile;
- Arrêt de la base standby
srvctl stop database -db pilotprdstandby
- Suppression des datafiles sous asm
asmcmd rm +DATA/PILOTPRDSTANDBY/*
ne pas supprimer les fichiers de configuration du dataguard broker
- Modification du fichier d’init et démarrage avec le standby controlfile crée
Ajouter : *.control_files='/home/oracle/jae/pilotprdstandby.ctl' Ajouter : *.db_file_name_convert=+DATA/PIVOTPRD, +DATA/PILOTPRDSTANDBY
- Vérification du service réseau vers la base primaire
tnsping pilotprd
- Démarrage de la base standby en mount avec le pfile modifié
startup mount pfile='/home/oracle/jae/init_bef_rebuild_dataguard_node.ora' ;
- Exécuter rman et lancer la restauration de la base primaire.
rman target / restore database from service pilotprd using compressed backupset section size 2048m ;
- création du spfile dans asm à partir du pfile
create spfile='+DATA' from pfile='/home/oracle/jae/init_bef_rebuild_dataguard_node.ora' ;
- Mise à jour du paramètre spfile dans le fichier init de la base standby
- Mise à jour de la configuration cluster
srvctl modify database -db pilotprdstandby -spfile +DATA/PILOTPRDSTANDBY/PARAMETERFILE/spfileXXXXXXX
- démarrage en mode nomount avec le spfile
startup nomount ;
- Restauration du fichier de contrôle
restore controlfile to '+DATA' from '/home/oracle/jae/pilotprdstandby.ctl'
- Modification du paramètre control_file du spfile
alter system set control_files = '+DATA/CONTROLFILE/current_xxxxxx' scope=spfile sid='*';
- Démarrage de la base avec le nouveau fichier de contrôle
startup mount ;
- Création des standby logfile
Vérifier avant que le paramètre standby_file_management = manual sinon le modifier show parameter standby_file_management ; ==> auto Modification du paramètre alter system set standby_file_management = manual scope=both sid='*' ; création des standby logfile alter database add standby logfile '+DATA' size 300M; (x fois)
- Récupération des données
RMAN > recover database ;
Actions à réaliser sur la base primaire
- Activation du broker
DGMGRL : enable configuration ; DGMGRL : show configuration ; DGMGRL : show database pilotprdstandby ; (base standby)
- Vérification des paramètres log_archive_dest_state_2 et standby_file_management
show parameter log_archive_dest_state_2 ; ==> enable show parameter standby_file_management ; ==> auto Sinon faire alter system set log_archive_dest_state_2 = enable scope=both sid='*' ; alter system set standby_file_management = auto scope=both sid='*' ;
Actions à réaliser sur la base standby
- Ouverture de la base en read only
alter database open read only ;
- Vérifier que la standby est bien en mode active dataguard
Vous souhaitez améliorer votre employabilité ou simplement monter en compétences sur les solutions des plus grands éditeurs du moment ? Découvrez notre catalogue de formations AWS, Oracle et Microsoft |