Este script es para realizar un backup en frio mediante RMAN de una BBDD en modo RAC. La BBDD se llama ORCL y contiene dos instancias llamadas ORCL1 y ORCL2. La base de datos de RMAN se llama RMANDB.
El script que generaremos y lo lanzaran desde Netbackup cuando toque en la planificación lo llamaremos /home/Oracle/scripts/rman/cold_ORCL.sh. El contenido es
LOGFILE=/home/oracle/scripts/rman/logs/out_backup_cold.log
DATE=`date '+%d%m%y'`
export DATE
# DETENEMOS LA BASE DE DATOS
echo Intentando detener la consola >>$LOGFILE
emctl stop dbconsole
echo Intentando parar la base de datos completa >>$LOGFILE
srvctl stop database -d ORCL >>$LOGFILE
echo Se ha parado la base de datos >>$LOGFILE
# Abrimos en modo mount (*SOLO* esta instancia)
echo Intentando levantar instancia local en modo MOUNT >>$LOGFILE
srvctl start instance -i ORCL1 -d ORCL -o mount >>$LOGFILE
echo Instancia montada >>$LOGFILE
# Lanzamos el backup
echo Lanzando backup >>$LOGFILE
Las tres lineas siguientes, son solo una linea de ejecución
$ORACLE_HOME/bin/rman target / catalog rman/password@rmandb CMDFILE=/home/oracle/scripts/rman/cold_ORCL_nbu.rcv LOG=/home/oracle/scripts/rman/logs/cold_ORCL_${DATE}.log
# Derribamos la instancia *local*
echo Derribando instancia local >>$LOGFILE
srvctl stop instance -i ORCL1 -d ORCL -o immediate >>$LOGFILE
echo Instancia ORCL1 parada >>$LOGFILE
# Volvemos a levantar todo
echo Levantando el cluster >>$LOGFILE
srvctl start database -d ORCL >>$LOGFILE
echo La bd del cluster esta levantada >>$LOGFILE
echo Levantando la consola >> $LOGFILE
emctl start dbconsole
El contenido del script rcv, lanzado en el backup es
run {
# Total de das que mantenemos las copias de seguridad en el medio fsico
configure retention policy to recovery window of 30 days;
# Establecemos el canal de copias de seguridad;
Estos datos os los tienen que suministrar los que se encargan del software del backup
allocate channel c1 device type 'SBT_TAPE';
send 'NB_ORA_CLIENT=Host1, NB_ORA_SCHED=Backup.ORCL.BBDD.Int.offline.RMAN';
# Hacemos un backup completo
backup database include current controlfile;
# Backup del spfile
backup spfile;
sql 'alter database open';
sql 'alter database backup controlfile to trace';
sql 'create pfile from spfile';
# Liberamos el canal
release channel c1;
}
No comments:
Post a Comment