首页 > 数据库 > Oracle > 正文

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

2024-08-29 13:39:04
字体:
来源:转载
供稿:网友

  在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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表