Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Configurar crontab para ejecutar tareas de expdp

Estas en el tema de Configurar crontab para ejecutar tareas de expdp en el foro de Oracle en Foros del Web. Saludos, al configurar tareas bajo linux Red-Hat o no se ejecuta el trabajo o me sale un mensaje en el cual me dice que el ...
  #1 (permalink)  
Antiguo 01/02/2008, 14:09
 
Fecha de Ingreso: febrero-2008
Mensajes: 5
Antigüedad: 16 años, 2 meses
Puntos: 0
Configurar crontab para ejecutar tareas de expdp

Saludos, al configurar tareas bajo linux Red-Hat o no se ejecuta el trabajo o me sale un mensaje en el cual me dice que el comando expdp es desconocido.

El archivo para la exportacion esta en:
/home/oracle/export_oracle.sh

y su contenido es:
expdp system/oracle directory=dirdatapump

Al trata de configurar crontab como User=root a nivel sistema no ejecuta aqui mi configuracion:

# cd /etc/
# vi crontab
55 14 * * * /home/oracle/export_oracle.sh

No ejecuta !!!

Al configurar como Users=oracle me sale el mensaje de abajo.. aqui mi configuracion:

$ crontab -e
55 14 * * * /home/oracle/export_oracle.sh

Sale esto en /var/mail/oracle !!!!!!!

From [email protected] Thu Jan 31 14:36:21 2008
Return-Path: <[email protected]>
Received: from Server-Oracle.santillan (localhost.localdomain [127.0.0.1])
by Server-Oracle.santillan (8.13.5/8.13.5) with ESMTP id m0VJZ1N6003212
for <[email protected]>; Thu, 31 Jan 2008 14:36:21 -0500
Received: (from oracle@localhost)
by Server-Oracle.santillan (8.13.5/8.13.5/Submit) id m0VJZ1Gl003211;
Thu, 31 Jan 2008 14:35:01 -0500
Date: Thu, 31 Jan 2008 14:35:01 -0500
Message-Id: <[email protected]>
From: [email protected] (Cron Daemon)
To: [email protected]
Subject: Cron <oracle@Server-Oracle> /home/oracle/export_oracle.sh
Content-Type: text/plain; charset=UTF-8
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/oracle>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=oracle>
X-Cron-Env:

/home/oracle/export_oracle.sh: line 1: expdp: command not found

Bueno quisiera saber en donde esta mi error y si pudiera me daria la configuracion correcta para poder ejecutar la tarea tanto a nivel sistema en vi /etc/crontab como usuario $ crontab -e eso es todo grasias espero su ayuda bye.
  #2 (permalink)  
Antiguo 01/02/2008, 17:14
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
Re: Configurar crontab para ejecutar tareas de expdp

Hola,

Me gustaria dividir el post en dos partes.

Entorno del usuario Oracle, si al ejecutar el comando expdp con el usuario Oracle, la respuesta es command not found, entonces tienes un problema de entorno, debes revisar las variables $ORACLE_BASE, $ORACLE_HOME y $PATH, por ejemplo, esto tengo en mi .profile. Tambien puedes ver el script oraenv.

Código:
export ORACLE_SID=ORA10
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1
export PATH=$PATH:$ORACLE_HOME/bin


Cron de Linux, Oracle recomienda no utilizar mas entornos del sistema operativo para la ejecucion de tareas, en vez, generar los scripts dentro de la base de datos, en PL/SQL, y programarlos con el paquete DBMS_SCHEDULER, a esto se le ven varias ventajas.

1. Portabilidad, Si la base de datos cambia de sistema operativo, no hace falta reescribir los scripts.
2. Seguridad, Si la base de datos esta baja, o no disponible de alguna manera, el paquete DBMS_SCHEDULER recuerda que no se ejecuto y puede reprogramarse solo.
3. Estabilidad, Por alguna razon desconocida, por lo menos para mi, los DBAs tienden a testear mas los scripts en PL/SQL que en scripting, esto desde ya que es discutible.
4. Dependencias, El paquete DBMS_SCHEDULER puede lanzar una tarea en funcion del fin de otra.
5. Programacion, El paquete DBMS_SCHEDULER tiene una mayor potencia a la hora de definir intervalos, por ejemplo "El ultimo sabado de cada mes".
6. Recursos, Se pueden crear JOBS o grupos de JOBS y asociarlos a un perfil de recursos en Oracle, para darle mayor o menor prioridad a la tarea.

y hay muchas mas :)

Para el caso de data pump, existe una API en PL/SQL, DBMS_DATAPUMP, que te permite programar cualquier export/import de la base de datos.

http://download.oracle.com/docs/cd/B...htm#sthref6598
http://download.oracle.com/docs/cd/B...p.htm#ARPLS630

Saludos
  #3 (permalink)  
Antiguo 03/02/2008, 12:45
 
Fecha de Ingreso: febrero-2008
Mensajes: 5
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Configurar crontab para ejecutar tareas de expdp

Saludos, gracias por ayudarme bueno esta es la conf de mi bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
# Entorno Oracle
umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=jcarlos
PATH=/usr/sbin:$PATH
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export TMP=/tmp
export TMPDIR=$TMP
export TNS_ADMIN=$ORACLE_HOME/network/admin

".bash_profile" 23L, 519C

y no corre crontab bueno echale un ojo a mi bash_profile y dime en donde esta mi error ok, gracias por todo ok bye. :)
  #4 (permalink)  
Antiguo 03/02/2008, 17:39
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
Re: Configurar crontab para ejecutar tareas de expdp

Hola,

El entorno del usuario Oracle se ve bien, una opcion es que no tengas instalado las herramientas de export/import.

Cual es la salida del comando ls -l?

Código:
oracle@buo:~> ls -l $ORACLE_HOME/bin/expdp
-rwxr-x--x  1 oracle oinstall 183185 2007-08-29 13:57 /u01/app/oracle/product/10.2/db_1/bin/expdp
Si no recuerdo mal, la opcion de export/import la tienes marcando Database Utilities en la instalacion de Oracle.

Saludos
  #5 (permalink)  
Antiguo 04/02/2008, 10:47
 
Fecha de Ingreso: febrero-2008
Mensajes: 5
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Configurar crontab para ejecutar tareas de expdp

Saludos.
Gracias por la atencion prestada muy agradecido bye,
  #6 (permalink)  
Antiguo 11/08/2009, 14:03
 
Fecha de Ingreso: julio-2009
Mensajes: 52
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Configurar crontab para ejecutar tareas de expdp

Hermano en realidad el problema que tienes esta en el cron
edita el archivo crontab de esta forma:

55 14 * * * "USUARIO QUE EJECUTA (ES DECIR USUARIO ORACLE)" /home/oracle/export_oracle.sh

Por lo que queda:


55 14 * * * oracle /home/oracle/export_oracle.sh


claro en caso de que tu usuario se llame oracle......
  #7 (permalink)  
Antiguo 11/08/2009, 14:45
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Configurar crontab para ejecutar tareas de expdp

Mira la fecha del post.

04-feb-2008, 10:47
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 07:42.