Faire un duplicate avec RMAN sous windows! by albanlepunk
Administration Oracle, Rman Ajouter un commentaire
# Créer le fichier de mot de passe pour la base clone
orapwd file=$ORACLE_HOMEdbsorapwCLONE.ora password=XXXXXXXXXX
# Créer le fichier d’init pour la base clone
# Copier le init.ora de la base cible
SQL> create pfile=’$ORACLE_HOMEdbsinitCLONE.ora’ from spfile;
File created.
# Apporter les modifs nécéssaires au fichier init.
db_file_name_convert = (’$ORADATACLONE’, ‘$ORADATACLONE’)
log_file_name_convert = (’$ORADATACLONE’, ‘$ORADATACLONE’)
control_files = ‘$ORADATACLONEcontrol01.ctl’
, ‘$ORADATACLONEcontrol02.ctl’
, ‘$ORADATACLONEcontrol03.ctl’
db_name = ‘CLONE’
instance_name = ‘CLONE’
background_dump_dest = ‘$ADMINCLONEbdump’
core_dump_dest = ‘$ADMINCLONEcdump’
user_dump_dest = ‘$ADMINCLONEudump’
service_names = ‘SERVICE.CLONE’
log_archive_dest_1 = ‘location=$ORADATACLONEarchive MANDATORY’
# Créer un nouveau service windows pour la base CLONE à dupliquer.
oradim -new -sid CLONE -intpwd D:oracleproduct10.2.0db_1databaseorapwCLONE.ora.ora -startmode auto -pfile ‘D:oracleproduct10.2.0db_1databaseinitCLONE.ora’
# Créer les repertoires admin
mkdir $ORADATACLONE
mkdir $ORADATACLONEarchive
mkdir $ORADATACLONEbdump
mkdir $ORADATACLONEcdump
mkdir $ORADATACLONEcreate
mkdir $ORADATACLONEpfile
mkdir $ORADATACLONEscripts
mkdir $ORADATACLONEudump
# Démarrer l’instance CLONE
set ORACLE_SID=CLONE
sqlplus “/ as sysdba”
SQL> startup nomount
# Modifier le listener et le tnsnames pour que l’on puisse se connecter à la base auxiliaire
sqlplus “sys/XXXXXXXX@CLONE as sysdba”
# Vérifier que la base cible soit montée ou ouverte
# Se connecter à la base cible et la base auxiliaire avec RMAN
rman target sys/XXXXXXXX@TARGET auxiliary sys/xxxxxxxx@CLONE
connected to target database: TARGET (DBID=3850478880)
connected to auxiliary database: CLONE (not mounted)
RMAN>
# Lancer la commande duplicate
# On peut mettre un critère de temps.
# ex : duplicate target database to CLONE until time ‘SYSDATE-1′;.
# ou dans un script run
duplicate target database to CLONE;
Ex de script jusqu’à la sequence X du Thread Y (because RAC)
run
{ sql ‘alter system archive log current’;
set until sequence=11212 THREAD=2;
allocate auxiliary channel ch1 type disk;
allocate auxiliary channel ch2 type disk;
allocate auxiliary channel ch3 type disk;
allocate auxiliary channel ch4 type disk;
duplicate target database to ‘DBRESTAU’ pfile=’D:oracleproduct10.2.0db_1databaseinitCLONE.ora’ nofilenamecheck; }
exit


