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»