Este script es muy útil cuando se requiere realizar una copia de la base de datos a otro servidor.

 

La manera de utilizar este script es escribiendo la fecha y hora en que se quiere restaurar la base de datos con el formato 'YYYYMMDD HH:MM:SS'

Por ejemplo si queremos restaurar un respaldo al día 1 de mayo a las 9:25:07 se ejecutaría de la siguiente manera:

rman_scp '20120501 09:25:07'

El script pasaría los archivos necesario para realizar el restore en el servidor a donde se realiza la copia. Los único que tendrían que cambiar del script son las rutas. Es posible modificarlo para pasarle como parámetro las rutas y el servidor destino.

export NLS_DATE_FORMAT='dd-MON-YYYY hh24:mi:ss';

# Ruta a donde deja el archivo que se va a utilizar por el script
INFILE="/sbclocal/app/oracle/rman_scp_out.txt"
OUTFILE=writefile.out
THIS_SCRIPT=$(basename $0)

function lee_salida
{
# Zero out the $OUTFILE

>$OUTFILE

# Associate standard output with file descriptor 4
# and redirect standard output to $OUTFILE

#exec 4<&1
#exec 1> $OUTFILE

while read LINE
do
echo "$LINE" | grep /app | awk  '{print $1}' \
| while read UNO
do
if [ $UNO = Piece ]
then
BACKUPSET=$(echo "$LINE" | awk '{print $3}')

#Ruta del servidor a donde se van a copar los archivos

echo "SCP $BACKUPSET server1:/db/dump/instancia/dumprman"

scp $BACKUPSET server1:/db/dump/instancia/dumprman/deprod
else
ARCHIVE=$(echo "$LINE" | awk '{print $7}')
echo "SCP $ARCHIVE server1:/db/instancia/LUMINAD3/dumprman"
scp $ARCHIVE server1r:/db/instancia/dumprman/deprod
fi
done
done < $INFILE

# Restore standard output and close file
# descriptor 4

#exec 1<&4
#exec 4>&-
}

######################################
########### START OF MAIN ############
######################################

echo "Inicia copia a servidor X-->/db/dump/instancia/dumprman/deprod"
> /sbclocal/app/oracle/rman_scp_out.txt
rman target / < /sbclocal/app/oracle/rman_scp_out.txt
run {
RESTORE DATABASE UNTIL TIME "to_date('$1','YYYYMMDD HH24:MI:SS')" preview;
}
exit;
EOF

rman target / /sbclocal/app/oracle/ubsdriver/oracle/rman_scp_out.txt
LIST BACKUP OF CONTROLFILE COMPLETED AFTER 'SYSDATE-1';
exit;
EOF
lee_salida

You are not authorised to post comments.

Comments powered by CComment

DBASupport - Foro

Mirroring con estados disconnected
Hola, el día de hoy después de reiniciar mi servidor de destino a donde realizo el mirroring ya no pude replicar más, el error que muestra es que...

Se me duplica el mensaje en /etc/motd
  • Topic started by agamez
  • in General
  • 5 years ago.
  • 5 years ago.
  • 2 replies
Buen día, alguien tiene idea porque después de actualizar a fedora 28 se me esta duplicando la salida de mi /etc/motd?

Cómo puedo filtrar un mensaje en el log messages
Buenos días, estoy recibiendo en mi log de errores muchos mensajes de cron, ya que tengo varios crones configurados en mi server. Existe alguna...

Cómo validar la hora de ejecución de un proceso
Hola, estoy tratando de validar que un proceso sólo pueda ser ejecutado dentro de un periodo de tiempo, en este caso entre las 7:00 AM y las 7:00...

Estadisticas en la base de datos
Buenos días, estoy teniendo problemas de performance en mis queries y quisiera saber como puedo validar que mis tablas tienen las estadisticas...
URGE AYUDA
  • Topic started by
  • in General
  • 18 years ago.
  • 18 years ago.
  • 30 replies
HOLA ESPERO ME PUEDAN AYUDAR. TEN GO UNA TABLA CON una estructura similar a la siguiente: id_mov cargo subtotal total...

Duada de Memoria de SQL Server 2005
  • Topic started by Erzengel
  • in General
  • 14 years ago.
  • 13 years ago.
  • 30 replies
Buen Día Recurro nuevamente a su sabiduría. Quiero saber el porque tiene un tope SQL Serever de 2GB en Windows server 2003 de 32 bit y si alguien...

SqlDateTime overflow
  • Topic started by
  • in General
  • 17 years ago.
  • 17 years ago.
  • 11 replies
Alguno de ustedes ha tenido este problema: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.' Les...

problemas para iniciar el agente sql
  • Topic started by acgch
  • in General
  • 17 years ago.
  • 17 years ago.
  • 11 replies
Recientemente para asegurar el sql server 2005, cree una cuenta sql con derechos de sysadmin y borre el grupo BUILTIN\Administradores para evitar...

Puerto de Enterprise Manager
  • Topic started by
  • in General
  • 16 years ago.
  • 16 years ago.
  • 12 replies
Hola, estoy tratando de acceder a mi enterprise manager de un oracle 10G, donde puedo ver en que puerto esta levantando para entrar desde mi...
Mirroring con estados disconnected
Hola, el día de hoy después de reiniciar mi servidor de destino a donde realizo el mirroring ya no pude replicar más, el error que muestra es que...

Se me duplica el mensaje en /etc/motd
  • Topic started by agamez
  • in General
  • 5 years ago.
  • 5 years ago.
  • 2 replies
Buen día, alguien tiene idea porque después de actualizar a fedora 28 se me esta duplicando la salida de mi /etc/motd?

Cómo puedo filtrar un mensaje en el log messages
Buenos días, estoy recibiendo en mi log de errores muchos mensajes de cron, ya que tengo varios crones configurados en mi server. Existe alguna...

Cómo validar la hora de ejecución de un proceso
Hola, estoy tratando de validar que un proceso sólo pueda ser ejecutado dentro de un periodo de tiempo, en este caso entre las 7:00 AM y las 7:00...

Estadisticas en la base de datos
Buenos días, estoy teniendo problemas de performance en mis queries y quisiera saber como puedo validar que mis tablas tienen las estadisticas...
Deshabilitar todos los jobs
  • Topic started by agamez
  • in Jobs
  • 6 years ago.
  • 6 years ago.
  • 1 reply
Buenos días, alguien sabe como puedo deshabilitar rapidamente todos los jobs de SQL Server, gracias.

Mirroring con estados disconnected
Hola, el día de hoy después de reiniciar mi servidor de destino a donde realizo el mirroring ya no pude replicar más, el error que muestra es que...

Se me duplica el mensaje en /etc/motd
  • Topic started by agamez
  • in General
  • 5 years ago.
  • 5 years ago.
  • 2 replies
Buen día, alguien tiene idea porque después de actualizar a fedora 28 se me esta duplicando la salida de mi /etc/motd?

Cómo puedo filtrar un mensaje en el log messages
Buenos días, estoy recibiendo en mi log de errores muchos mensajes de cron, ya que tengo varios crones configurados en mi server. Existe alguna...

Cómo validar la hora de ejecución de un proceso
Hola, estoy tratando de validar que un proceso sólo pueda ser ejecutado dentro de un periodo de tiempo, en este caso entre las 7:00 AM y las 7:00...