Create Programs

1. Los Programs nos permiten crear procedimientos estándar que pueden ser invocados por los Jobs. Una de las ventajas es poder tener una librería de programas predifinidos, y poder crear Jobs que invoquen dichos programas con distintos argumentos.

2. Nosotros vamos a aprovechar este ejercicio para crear un Program que ejecuta un script externo. Para ello creamos primero el script que va a invocar el programa en la máquina OCM.

vi /tmp/test_program.sh
# Añadimos las siguientes lineas
#!/bin/bash
echo `date` > /tmp/test_program.out

# Damos permisos de ejecución
# Por dejecto, el script externo se ejecuta con el usuario y grupo "nobody"
# Se puede modificar editando el fichero $ORACLE_HOME/rdbms/admin/externaljob.ora (propietario root)
chmod 777 /tmp/test_program.sh

Creamos el Program y el Job.

Click «Targets» ->
-> Click «Databases» ->
-> Click «OCM» ->
-> Click «Server» ->
-> Click «Programs» ->
-> Click «Create» ->
-> Name = «PROGRAM_TEST» ->
-> Enabled = «Yes» ->
-> Executable Name = «/tmp/test_program.sh» ->
-> Click «OK»

Click «Targets» ->
-> Click «Databases» ->
-> Click «OCM» ->
-> Click «Server» ->
-> Click «Jobs» ->
-> Click «Create» ->
-> Name = «JOB_TEST» ->
-> Click «Change Command Type» ->
-> Seleccionamos «Program Name» ->
-> Program Name = «SYSTEM» . «PROGRAM_TEST» ->
-> Click «OK» ->
-> Click «OK»

3. Borramos ambos objetos (Program y Job).

Seleccionamos «JOB_TEST» ->
-> Click «Delete» ->
-> Seleccionamos «Drop the job and stop any running instance.» ->
-> Click «Yes»

En la ventana de Programs ->
-> Seleccionamos «PROGRAM_TEST» ->
-> Click «Delete» ->
-> Click «Yes»