oracle如何定时运行存储过程,Oracle中如何定时调用存储过程

创建测试表

SQL>   create   table   a(a   date);

表已创建。

创建一个自定义过程

SQL>   create   or   replace   procedure   test   as

2     begin

3     insert   into   a   values(sysdate);

4     end;

5     /

过程已创建。

创建JOB

SQL>   variable   job1   number;

SQL>

SQL>   begin

2     dbms_job.submit(:job1, 'test; ',sysdate, 'sysdate+1/1440 ');  --每天1440分钟,即一分钟运行test过程一次

3     end;

4     /

PL/SQL   过程已成功完成。

运行JOB

SQL>   begin

2     dbms_job.run(:job1);

3     end;

4     /

PL/SQL   过程已成功完成。

SQL>   select   to_char(a, 'yyyy/mm/dd   hh24:mi:ss ')   时间   from   a;

删除JOB

SQL>   begin

2     dbms_job.remove(:job1);

3     end;

4     /

PL/SQL   过程已成功完成。

补充说明:DBMS_JOB.SUBMIT用法

DBMS_JOB.SUBMIT(    JOB => :JOB,  /*自动生成JOB_ID*/

WHAT => 'CREATE_TASK_BY_PLAN;',  /*需要执行的过程或SQL语句*/

NEXT_DATE => TRUNC(SYSDATE+1)+6/24,  /*初次执行时间*/

INTERVAL => 'TRUNC(SYSDATE+1)+6/24');  /*执行周期*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个示例脚本,用于在Linux使用cron定时调度Oracle数据库存储过程: ```bash #!/bin/bash #设置ORACLE_HOME和LD_LIBRARY_PATH export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export LD_LIBRARY_PATH=$ORACLE_HOME/lib #设置Oracle环境变量 export ORACLE_SID=orcl export PATH=$ORACLE_HOME/bin:$PATH #设置日志文件路径 LOGFILE=/home/oracle/logs/my_proc.log #调用存储过程 sqlplus -S username/password@database << EOF >> $LOGFILE set serveroutput on; set feedback off; begin my_proc(); end; / EOF ``` 在此示例,我们首先将ORACLE_HOME和LD_LIBRARY_PATH设置为Oracle安装目录和库目录。然后,我们设置ORACLE_SID和PATH环境变量以连接到正确的数据库和使用正确的Oracle命令。接下来,我们定义一个日志文件路径,以便在存储过程运行时记录任何输出或错误消息。最后,我们使用sqlplus命令调用存储过程,并将输出记录到日志文件。 要使用cron定时运行此脚本,请执行以下步骤: 1. 使用命令“crontab -e”打开cron编辑器。 2. 在编辑器添加以下行: ``` 0 0 * * * /path/to/my_script.sh ``` 此行将在每天午夜运行脚本。您可以根据需要更改时间和日期,或使用其他cron时间设置选项。将“/path/to/my_script.sh”替换为实际脚本文件的路径。保存并退出编辑器。 3. 等待cron定时器触发脚本,并查看日志文件以获取有关存储过程运行的详细信息。 请注意,此示例仅供参考。您需要根据自己的环境和需求进行调整和修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值