Sei sulla pagina 1di 6

Cron Orfeo

I. CRON PARA INICIALIZAR SECUENCIAS EN ORFEO


1. Crear el archivo cron.
2. Crear un script de shell.
3. Crear un script SQL con las secuencias.
4. Instalar SqlPlus.

II. CRON PARA LIMPIAR TEMPORALES DE BODEGA

PROCEDIMIENTO

1. Crear un archivo sin extensin, con el cron


crearlo en la ruta: /etc/cron.d/
(Para el ejemplo creamos el archivo /etc/cron.d/orfeocron)
1.1. Editar el archivo orfeocron con el siguiente contenido:
#################################################################
# cron que ejecuta un script de shell, que se conecta a la base de datos,
# con el usuario root y reinicia las secuencias de la base de datos.
# Se ejecuta en el minuto 1, de la hora 0, el dia 1, del mes 1
# (* sin importar el da de la semana)
# idelbers@gmail.com (OpeNous)
#################################################################
1 0 1 1 * root /opt/orfeoshell.sh
############################################################
2. Crear el archivo "orfeoshell.sh"
Crearlo por ejemplo en: /opt/orfeoshell.sh el archivo debe contener el script de shell que se
conecta a Oracle, por sqlplus y a su vez ejecuta un archivo .sql que contiene las secuencias a
recrear.
2.1. El archivo "orfeoshell.sh" debe contener (con los datos correspondientes a cada base de
datos):
#Inicio Shell###################################################
# !/bin/sh
# tener en cuenta la instalacin de sqlplus, de ser necesario y las
# variables de entorno (mas adelante).
##############################################################
/opt/oracle/instantclient usuariobd/claveubd@//192.IP.DE.BD/sidbdorfeo
@/opt/orfeosql.sql;
exit;
Idelber Snchez - isanchez@openous.com

END
#Fin Shell ###################################################
2.2. El archivo "orfeoshell.sh" debe tener permisos de ejecucin, que se puede aplicar con el
comando:
# chmod +x /opt/orfeoshell.sh
3. Crear un archivo "orfeosql.sql" con el Script SQL
Para generar el script sql, use el archivo "secuenciasRadicacion.php" (que est en la pgina de la
comunidad Ir http://orfeogpl.org/ata/sites/default/files/secuenciasRadicacion.php__0.txt)
ejeuctandolo as:
Ver Anexo 1.
3.1. Desde el navegador web ingresar la siguiente ruta:
http://192.IP.DE.ORFEO/secuenciasRadicacion.php
3.2. Clic en el botn: "Generar SQL reiniciar Secuencias".
3.3. Esto genera un Script en pantalla, similar a lo siguiente:
-----------------------------------------------------------------------------------------------------------------------DROP SEQUENCE secr_tp0_test1;
----CREATE SEQUENCE secr_tp0_test1 MINVALUE 1 MAXVALUE 9999999999999999999 INCREMENT BY
1 START WITH 1 NOCACHE NOORDER NOCYCLE;
---------------------------------------------------------------------------------------------------------------------------3.4. Copiar el scrip sql y pegarlo en el archivo: /opt/orfeosql.sql
Con esto ya queda listo el cron que ejecuta el SQL que recrea las secuencias en la fecha y hora
indicada.
Para hacer pruebas use secuencias con otros nombres y cambie el tiempo de ejecucin cron para
que se ejecute rpidamente, ej: para que se ejecute cada minuto:
*/1 * * * *
Si no funciona, reiniciar el servicio de cron:
# /etc/init.d/crond stop
# /etc/init.d/crond start
4.

Instalar SqlPlus

4.1. Instalar SqlPlus en Debian


1. Descargar e Instalar el Cliente instantneo de Oracle:
www.oracle.com
Idelber Snchez - isanchez@openous.com

-> Instantclient
-> linux Xversion- (Depende de la arquitectura de su servidor)
Descargar los 2 siguientes archivos:
Para el ejemplo usaremos:
basic-10.2.0.4.0-linux-x86_64.zip
sqlplus-10.2.0.4.0-linux-x86_64.zip
Descomprimirlos por ejemplo en: /opt/oracle/
# mkdir /opt/oracle
# cd /opt/oracle
# unzip \*.zip
Es posible que necesite renombrar el directorio donde se decomprime instantclient:
# cd /opt/oracle
# mv instantclient_10_2 instantclient
# chmod -R 775 /opt/oracle/instantclient
2: Configurar Variables de Entorno*:
Editar # nano ~/.bashrc
Agregar al final lo siguiente:
--------------------------------------------------------------------------------# Configuracion de ORACLE
ORACLE_HOME=/opt/oracle/instantclient; export ORACLE_HOME
PATH=$ORACLE_HOME:$PATH; export PATH
ORACLE_SID=sidbdorfeo; export SID
LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
----------------------------------------------------------------------------------------------------------------------Es posible que en algunos casos deba configurarlas en /etc/profile /etc/enviroment
3. Crear o copiar el archivo tnsnames.ora
# nano $ORACLE_HOME/network/admin/tnsnames.ora
* Si no existen los directorio network y admin, crearlos manualmente.
-----TNSNAMES.ora---El contenido es algo similar a:-----------------------------------orfeo = (DESCRIPTION =
(ADDRESS_LIST = (
ADDRESS = (PROTOCOL = TCP)(HOST = 192.IP.BD.ORFEO)(PORT = 1521)
))
(CONNECT_DATA = (SERVICE_NAME = sidorfeo))
)
---------------------------------------------------------------------------------------------------------------------Para refrescar el .bashrc, ejecutar el comando:
# source ~/.bashrc
4. Incluir libreras .so

Idelber Snchez - isanchez@openous.com

Ver el estado de "ldconfig"


# ldd $ORACLE_HOME/sqlplus
Para incluir las librerias editar el archivo:
# nano /etc/ld.so.conf y Agregar al final:
------------------------------------------------------------------------------------------------------------/opt/oracle/instantclient
------------------------------------------------------------------------------------------------------------luego ejecutar:
# ldconfig
4. Conectar a la base de datos:
# sqlplus usuariobd/clavebd@//192.IP.DE.BD.ORFEO/sidbdorfeo
Probado en:
SO: Linux (Debian, Ubuntu, RedHat (con rpm's))
Base de datos: Oracle
Referencias o fuentes consultadas:
http://www.gentoo.org/doc/es/cron-guide.xml
http://dieguz2.blogspot.com/2010/10/instalar-sqlplus-de-oracle-en-linux.html
** Se pueden hacer mejoras usando php por terminal con: (curl, wget, php5 )

Anexo 1.

1.Desdeelnavegadorwebingresarlasiguienteruta:
http://172.20.1.55/secuenciasRadicacion.php

Loanteriorlemuestralasiguietnepantalla:

Idelber Snchez - isanchez@openous.com

2.Clicenelbotn:

EstoelgeneraunScriptenpantalla,similaralosiguiente:
___paraOracle_____________________________________________________________
DROPSEQUENCEsecr_tp1_110;
...
CREATESEQUENCEsecr_tp1_110MINVALUE1MAXVALUE9999999999999999999
INCREMENTBY1STARTWITH1NOCACHENOORDERNOCYCLE;
_________________________________________________________________________

3. Copiar todo el script generado y guardarlo en el archivo "/opt/orfeosql.sql"

II. CRON LIMPIAR TEMPORALES DE LA BODEGA DE ORFEO


(/bodega/tmp)

Idelber Snchez - isanchez@openous.com

Cron para limpiar archivos temporales de combinacin de la bodega de Orfeo, ubicados en el


directorio /bodega/tmp /var/www/orfeo/bodega/tmp, con las siguietnes caracteristicas:
- Se ejecuta todos los das al minuto 1 de la 1 de la maana, hora en la cual no hay usuarios
conectados o hay pocos.
Agregar al archivo " /etc/cron.d/orfeocron" las siguientes lneas:
###################################################
1 1 * * * root /opt/limpiartemporalesbodega.sh
###################################################
Crear el archivo "/opt/limpiartemporalesbodega.sh" con el siguiente contenido:
###################################################
rm -rf /bodega/tmp/workDir/cacheODT/*
rm -f /bodega/tmp/workDir/*
rm -rf /bodega/tmp/workDir/1*
rm -rf /bodega/tmp/workDir/2*
rm -rf /bodega/tmp/workDir/3*
rm -rf /bodega/tmp/workDir/4*
rm -rf /bodega/tmp/workDir/5*
rm -f /bodega/tmp/*
###################################################

Idelber Snchez - isanchez@openous.com

Potrebbero piacerti anche