Lanzar jobs con RMAN
Hasta este punto, siempre que hemos trabajado con RMAN, lo hemos hecho a través de comandos de tipo STAND ALONE, es decir, hemos hecho backups, cambiado la configuración por defecto, etc. Pero siempre lo hemos hecho utilizando un comando a la vez.
RMAN, también nos posibilita hacer procesos de tipo JOB o BASH, o sea, nos permite lanzar varios comandos en bloque, uno detrás del otro.
Este bloque de comandos está compuesto primeramente por la cláusula RUN, y entre llaves podemos poner los comandos que necesitemos se ejecuten dentro de este bloque.
Este bloque se puede ejecutar como mismo ejecutamos los scripts, pero hay diferencias importantes a tener en cuenta. Primero, existen determinados comandos que sólo podemos por en el run, o sea, sólo se pueden ejecutar dentro del ámbito de un RUN, y la otro diferencia notable a cuando ejecutamos scripts es que si un comando falla, el resto se para.
Por ejemplo, si tenemos un bloque con 5 comandos, y falla el tercero, entonces no se van a ejecutar los comandos siguientes. Que falle uno solo de los comandos significa que el resto del bloque no se va a ejecutar. ¿Y qué pasa con los comandos que llegaron a ejecutarse? Pues se quedan hechos, no es que se haga un UNDO de lo que ya se ejecutó. En nuestro ejemplo, como falló el tercer comando, las operaciones que hayamos hechos con los dos primeros comandos, se quedan hechas, y los restantes comandos no se van a ejecutar.
Uno de los comandos que sólo se pueden usar dentro del ámbito de un bloque RUN, es ALLOCATE CHANNEL. Recordemos que en el capitulo anterior habiamos usado el comando CONFIGURE CHANNEL, donde cambiamos el comportamiento del canal por defecto. A diferencia del CONFIGURE CHANNEL, el ALLOCATE CHANNEL sólo tiene funcionalidad dentro del RUN.
Imaginemos que por alguna razón queremos tener un backup de la tablespace NOMBRES dentro de un directorio específico. Pues lo que tenemos que hacer es utilizar el comando ALLOCATE CHANNEL, le asignamos un nombre, en nuestro caso CH1 (notemos que obviamos la cláusula default), el tipo de dispositivo, en nuestro ejemplo será de tipo disco, y que lo guarde en esta dirección y con este formato. El formato vemos que está compuesto por el número de tablespace seguido del nombre de la base de datos, y la dirección donde quiero se almacene este backup es home/Oracle/temp. Y luego, hacemos el backup de la tablespace NOMBRES.
O sea, este bloque RUN, va a estar compuesto de dos c
ejecutar jobs