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

Faire un commentaire