Вы находитесь на странице: 1из 3

RMAN 11GR2: DUPLICATE sin TARGET ni CATLOGO

DE RECUPERACION
Aplica a Oracle Database EE Version 11.2.0.1 y posteriors
Objetivo: Duplicar base de datos sin conectar a la base de datos target
(la base de datos origen, la que queremos duplicar), y sin catlogo de
recuperacin. Este tipo de duplicate slo se puede realizar para backups
en disco, no en cinta. Si fuera con catlogo de recuperacin se podra
hacer tambin para backups en cinta.
Lo nico que RMAN necesita es la localizacin de las backup pieces.

Ejemplo:
RMAN> DUPLICATE DATABASE TO dup11r2
UNTIL TIME "TO_DATE('29-MAY-2010 14:16:42','DD-MONYYYYHH24:MI:SS')"
SPFILE
set control_files='D:\dup11r2\c1.ctl'
set
db_file_name_convert='D:\Database\Ora11g2\ora11g2','d:\dup11r2'
set
log_file_name_convert='D:\Database\Ora11g2\ora11g2','d:\dup11r2'
BACKUP LOCATION 'D:\dup11r2';

El proceso involucrado en este tipo de duplicado:


-Rman restaura el spfile desde el backup indicado.
-una vez que el spfile es restaurado, rman establece los valores apropiados
a los parmetros mencionados en el comando de duplicate. Por ejemplo:
Db_name
Control_files
Db_file_name_convert
Log_file_name_convert
Etc

Hecho esto, rman reinicia la instancia en nomount para que los cambios
tengan efecto.
-Rman cambia el valor del parmetro db_name al database name de la
target para llevar a cabo el restore del fichero de control. El fc restaurado
tendr el db_name de la target database y como no podemos un db_name
diferente en el spfile y en el fc, rman establecer el db_name al db_name de
la target database y realizar el restore de los datafiles y controlfiles.
Si el duplicate est hacindose en la misma mquina, dado que 2
controlfiles con el mismo db_name no pueden montarse, rman configura la
instancia auxiliar con el parmetro db_unique_name establecido a un valor
nico (el database name especificado para la base de datos auxiliary en el
comando duplicate, en el ejemplo dup11r2).
-se restauran los controlfile donde indiquen los parmetros control_files
-rman restuara los datafiles a las rutas especificadas por
log_file_name_convert
-hace recovery de los datafiles
-rman para la bbdd para resetear el valor de db_name al valor
proporcionado por la auxiliary
-se monta la bbdd y el controlfile se recrea para cambiar el database name
y el id. Y se abre la bbdd con resetlog.

PASOS
1 hacer backup de spfile, controlfile,database y archivelogs:
Backup spfile;
Backup database include current controlfile plus archivelog;

2 hacer las backup pieces disponibles para la operacion de duplicado


-si el duplicado va a hacerse en un servidor diferente, mover las pieces al
servidor (ftp, scp, etc)
3 crear un fichero de password para la instancia auxiliar
4 crear un fichero de inicializacin para la instancia auxiliar con un nico
parmetro DB_NAME
DB_NAME=dup11r2

5Arrancar la instancia auxiliar en nomount


Export ORACLE_SID=dup11r2
Export ORACLE_HOME
Export PATH=$ORACLE_HOME/bin:$PATH
Sqlplus / as sysdba
Startup nomount

6 conectar a la instancia auxiliary desde rman y realizer el duplicado:

% rman auxiliary /
RMAN > DUPLICATE DATABASE TO dup11r2
UNTIL TIME "TO_DATE('29-MAY-2010 14:16:42','DD-MON-YYYY HH24:MI:SS')"
SPFILE
set control_files='D:\dup11r2\c1.ctl'
set db_file_name_convert='D:\Database\Ora11g2\ora11g2','d:\dup11r2'
set log_file_name_convert='D:\Database\Ora11g2\ora11g2','d:\dup11r2'
BACKUP LOCATION 'D:\dup11r2'
;

Referencias:
My Oracle Support Doc ID 874352 y 1375864.1