Ejecutar procedimiento almacenado de Oracle en UNIX

jacevedom
13 de Septiembre del 2004

Hola,

mi duda es la siguiente: como hago para poder ejecutar un procedimiento almacenado de Oracle desde un fichero sh de unix?.

Gracias

HUgo Gonzalez
13 de Septiembre del 2004
1) crea el SqlScript, para el caso lo llamaré "ejecuta.sql". Y supongamos que el procedimiento se llama "prc_xxx" y el usuario dueño es "hugo". Y asumo que lo crearemos en /usuario/sqlscripts
--
-- Nombre: ejecuta.sql
-- Objetivo: Ejecutar el procedimiento "prc_xxx"
--
exec hugo.prc.xxx;
--
--
--
Nota: hasta acá el Script de Sql.

2) Crea el ShellScript(El fichero desde Unix), para nuestro ejemplo lo llamaré "ejecuta.sh". Es conveniente, si lo ejecutas desde el "crontab" que especifiques por lo menos las dos variables de Ambiente; "ORACLE_HOME" y "ORACLE_SID". La razón de ello es que al enviar en "bacground" procesos, se pierden las variables de ambiente ....


#
# ShellScript: ejecuta.sh
# Objetivo: Ejecutar un procedimiento almacenado en B.D. Oracle
#
ORACLE_HOME=/opt/oracle/8.1.7 < Aca colocas el Home real >
ORACLE_SID=test
#
#
sqlplus usuario/password@string_de_coneccion @/usuarios/sqlscript/ejecuta.sql
#
#
#
Nota Fin del ShellScript

Espero haber dado respuesta a tu inquietud.

Un cordial saludo,

____________________________
Hugo González,
Cc's Venezuela.