Procédure non validée, juste prise de notes.
Mise en place d'un dataguard physique.
Serveur primaire : vm01.adi100.concarnux.fr IP : 192.168.1.101 Base de données : YODA
Seveur secondaire : vm02.adi100.concarnux.fr IP : 192.168.1.102 Base de données : LUKE
Sur la base primaire YODA
Configurer le fichier de mot de passe
cd $ORACLE_HOME/dbs orapwd file=orapwYODA password=manager10
Mettre la base en archivelog
export ORACLE_SID=YODA sqlplus "/ as sysdba" SQL> alter system set log_archive_dest_1='LOCATION=/u01/app/oracle/archlog/YODA' scope = both; SQL> alter system set log_archive_dest_state_1=enable scope=both; SQL> alter system set log_archive_format='%t_%s_%r.dbf' scope=spfile; SQL> shutdown immediate; SQL> startup mount; SQL> alter database archivelog; SQL> alter database open;
Forcer le mode logging
SQL> alter database force logging; SQL> select dbid, name, log_mode, force_logging from v$database; DBID NAME LOG_MODE FOR ---------- --------- ------------ --- 4127263456 YODA ARCHIVELOG YES SQL> exit;
Modifier certains paramètre du spfile
alter system set standby_file_management=auto scope=both; alter system set archive_lag_target=900 scope=both; alter system set db_unique_name=YODA scope=spfile; shutdown immediate; startup;
Créer un initLUKE.ora depuis le spfile de YODA
create pfile='$HOME/initLUKE.ora' from spfile;
Editer initLUKE.ora et changer toute occurence de YODA en LUKE sauf pour db_name où il faut laisser YODA
Ajouter les lignes suivants à initLUKE.ora
db_file_name_convert=('YODA','LUKE') log_file_name_convert=('YODA','LUKE')
Exemple de fichier initLUKE.ora
archive_lag_target=900 audit_file_dest='/u01/app/oracle/admin/LUKE/adump' background_dump_dest='/u01/app/oracle/admin/LUKE/bdump' control_files='/u01/app/oracle/oradata/LUKE/control01.ctl' core_dump_dest='/u01/app/oracle/admin/LUKE/cdump' db_block_size=8192 db_name='YODA' db_unique_name='LUKE' log_archive_dest_1='LOCATION=/u01/app/oracle/archlog/LUKE' log_archive_dest_state_1='ENABLE' log_archive_format='%t_%s_%r.dbf' pga_aggregate_target=160M sga_target=640M standby_file_management='AUTO' undo_management='auto' user_dump_dest='/u01/app/oracle/admin/LUKE/udump' db_file_name_convert=('YODA','LUKE') log_file_name_convert=('YODA','LUKE')
Il faut aussi vérifier que le remote password est en mode exclusive.
SQL> show parameter password NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ remote_login_passwordfile string EXCLUSIVE
Sauvegarde RMAN
rman target / nocatalog configure default device type to disk; configure device type disk backup type to compressed backupset; configure channel device type disk format '/u01/app/oracle/backup/YODA/bck_%U'; backup current controlfile for standby; backup database plus archivelog;
Copier l'ensemble de la sauvegarde sur la base LUKE
cd /u01/app/oracle/backup/YODA scp * oracle@192.168.1.102:/u01/app/oracle/backup/YODA
Sur la base secondaire, mettre en place les répertoires
mkdir -p /u01/app/oracle/admin/LUKE/adump mkdir -p /u01/app/oracle/admin/LUKE/bdump mkdir -p /u01/app/oracle/admin/LUKE/cdump mkdir -p /u01/app/oracle/admin/LUKE/udump mkdir -p /u01/app/oracle/admin/LUKE/pfile mkdir -p /u01/app/oracle/oradata/LUKE
Mettre en place le fichier de mot de passe
cd $ORACLE_HOME/dbs orapwd file=orapwLUKE password=manager10