oracle数据库如何启动时自动执行定时任务job
公司主营业务:成都网站设计、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出乐至免费做网站回馈大家。
job定时任务需要依托存储过程。
1、创建存储过程:create or replace procedure MYPROC as
begin
insert into TEST values(sysdate);
end;
2、创建job
variable job1 number;
begin
dbms_job.submit(:job1,'MYPROC;',trunc(sysdate+1),'sysdate+1');--从今晚12开始运行,以后每天运行一次
end;
DBMS_JOB.SUBMIT(
job OUT BINARY_INTEGER,
what IN VARCHAR2, NEXT_DATE IN DATE DEFAULTSYSDATE,
interval IN VARCHAR2 DEFAULT 'NULL',
no_parse IN BOOLEAN DEFAULT FALSE,
instance IN BINARY_INTEGER DEFAULT ANY_INSTANCE,
force IN BOOLEAN DEFAULT FALSE);
what 为需要定时调用的 PL/SQL代码
interval 为下次运行作业的时间
1、创建数据库日志表导出为文本文件的脚本tabout.ctl或tabout.sql
注意:该日志导出后在c:\HttpLog目录下
tabout.ctl脚本内容如下:
SET NEWPAGE NONE
SET HEADING OFF
SET TERM OFF
SET SPACE 0
SET PAGESIZE 0
SET TRIMOUT ON
SET TRIMSPOOL ON
SET LINESIZE 2500
set feedback off
set echo off
SET VERIFY OFF
column v_date new_value filename;
select to_char(sysdate,'yyyymmdd') || '.log' v_date from dual;
spool ..\HttpLog\filename
select id||','||name from orcluser.test;
spool off;
exit;
2、创建调用该脚本的logout.bat文件
logout.bat内容如下:
mkdir ..\HttpLog\
C:\oracle\ora92\bin\sqlplus orcluser/orcl @C:Oracleout.ctl
说明:该bat文件直接在当前目录下创建名为HttpLog的文件夹,以便tabout.ctl脚本输出的文件存放到该目录下。其通过调用Oracle中sqlplus可执行文件来执行tabout.ctl脚本,所以该文件直接双击即可运行,无需其他操作。
3、通过windows定时任务实现自动定期执行
“在控制面板——任务计划——添加任务计划”中建立定期将数据库中日志表数据导出为文本格式(如:你可以根据需求设置为每天对日志表数据进行导出)。根据你当前对日志文件路径的存储需求,修改上面两个脚本中的存储路径,在windows定时任务直接调用logout.bat文件执行即可。