创建每天运行的 oracle 调度程序作业
Create oracle scheduler job which runs daily
我想创建每天在 20:00
运行 30 分钟的 oracle 调度程序作业。此作业将从 KPI_LOGS
table 中删除行,因为此 table 包含大量数据并且它会继续增长。我已经在 oracle sql 开发人员中为此类作业创建了以下脚本,但不确定这是否正确,因为我是调度程序作业概念的新手。
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => '"RATOR_MONITORING"."CROP_KPI_LOGS"',
job_type => 'PLSQL_BLOCK',
job_action => 'DELETE FROM KPI_LOGS WHERE CAST(TIMESTAMP AS DATE) < (SYSDATE - 28);',
number_of_arguments => 0,
start_date => NULL,
repeat_interval => 'FREQ=DAILY;INTERVAL=30',
end_date => NULL,
enabled => FALSE,
auto_drop => FALSE,
comments => 'CROP_KPI_LOGS');
DBMS_SCHEDULER.SET_ATTRIBUTE(
name => '"RATOR_MONITORING"."CROP_KPI_LOGS"',
attribute => 'logging_level', value => DBMS_SCHEDULER.LOGGING_OFF);
DBMS_SCHEDULER.enable(
name => '"RATOR_MONITORING"."CROP_KPI_LOGS"');
END;
repeat_internal 不正确,您那里的内容将 运行 每 30 天。每天晚上 8 点到 运行 去...
FREQ=DAILY; BYHOUR=20
您无法指定 运行 需要多长时间,只要您的 DELETE 语句需要
我想创建每天在 20:00
运行 30 分钟的 oracle 调度程序作业。此作业将从 KPI_LOGS
table 中删除行,因为此 table 包含大量数据并且它会继续增长。我已经在 oracle sql 开发人员中为此类作业创建了以下脚本,但不确定这是否正确,因为我是调度程序作业概念的新手。
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => '"RATOR_MONITORING"."CROP_KPI_LOGS"',
job_type => 'PLSQL_BLOCK',
job_action => 'DELETE FROM KPI_LOGS WHERE CAST(TIMESTAMP AS DATE) < (SYSDATE - 28);',
number_of_arguments => 0,
start_date => NULL,
repeat_interval => 'FREQ=DAILY;INTERVAL=30',
end_date => NULL,
enabled => FALSE,
auto_drop => FALSE,
comments => 'CROP_KPI_LOGS');
DBMS_SCHEDULER.SET_ATTRIBUTE(
name => '"RATOR_MONITORING"."CROP_KPI_LOGS"',
attribute => 'logging_level', value => DBMS_SCHEDULER.LOGGING_OFF);
DBMS_SCHEDULER.enable(
name => '"RATOR_MONITORING"."CROP_KPI_LOGS"');
END;
repeat_internal 不正确,您那里的内容将 运行 每 30 天。每天晚上 8 点到 运行 去...
FREQ=DAILY; BYHOUR=20
您无法指定 运行 需要多长时间,只要您的 DELETE 语句需要