在unix下定时执行oracle的sql方法

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

在Linux,有多种方式可以实现定时运行,使用最灵活的应该是crontab,

在使用crontab必须非凡注重环境变量问题,在此以执行Oracle的sqlplus为例,

说明crontab的使用方法。

1:crontab 使用方法:

crontab [ -e -l -r ] 文件名

-e:编辑任务

-l:显示任务信息

-r:删除定时执行任务信息

2:crontab中处理的文件格式为

分钟 小时 日期 月 星期 执行的文件名

*代表所有条件

5 * * * * rem /home/oracle/execsql

代表每个小时的5分钟时执行/home/oracle/execsql文件

3:对于sql等需要在特定的环境变量下运行的命令,在执行文件中必须列出。

如在oracle下执行sqlplus,必须按以下格式编写:

$ cat execsql

ORACLE_HOME=/ora815;eXPort ORACLE_HOME

ORACLE_OWNER=oracle;export ORACLE_OWNER

ORACLE_SID=ora815;export ORACLE_SID

ORACLE_BASE=/ora815/app/oralce;export ORACLE_BASE

LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH

PATH=$PATH:$ORACLE_HOME/bin:$LD_LIBRARY_PATH;export PATH

NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280;export NLS_LANG

/ora815/bin/sqlplus test1/test1 @test1.ext

(执行@test1.ext文件,数据库的用户名/密码为test1/test1)

其中要求execsql为可执行的程序

$ ls -al execsql

-rwxr-xr-x 1 oracle dba 374 Oct 07 15:17 execsql

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航