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