Oracle中建立定时任务Job的简易操作(oracle中建job)
Oracle中建立定时任务:Job的简易操作
Oracle数据库中,定时任务(Job)是一种非常重要的功能。通过建立定时任务,可以自动执行指定的任务,从而减轻管理员的工作负担。本文将介绍如何在Oracle中建立定时任务——Job的简易操作。
一、创建作业
需要以sys或system用户登录Oracle数据库。然后,通过以下语句创建一个名为test_job的作业:
BEGIN
DBMS_SCHEDULER.CREATE_JOB( job_name => 'test_job',
job_type => 'PLSQL_BLOCK', job_action => 'BEGIN DBMS_OUTPUT.PUT_LINE(''Hello World!'');END;',
start_date => SYSTIMESTAMP, repeat_interval => 'FREQ=HOURLY;INTERVAL=1',
end_date => NULL, auto_drop => FALSE,
enabled => TRUE);END;
/
上述代码中,通过DBMS_SCHEDULER.CREATE_JOB函数创建了一个名为test_job的作业。其中,job_type参数为‘PLSQL_BLOCK’,代表作业的内容为PL/SQL代码,即‘BEGIN DBMS_OUTPUT.PUT_LINE(”Hello World!”); END;’。 start_date参数表示作业的开始时间,本例中使用了函数SYSTIMESTAMP,表示立即执行。repeat_interval参数表示作业的执行频率,本例中为每隔一个小时执行一次。结尾的auto_drop和enabled参数分别表示在作业执行完毕后是否自动删除作业,是否启用该作业。
二、查看作业
使用以下命令可以查看系统中已经创建的所有作业:
SELECT job_name, job_action, enabled FROM all_scheduler_jobs;
其中,job_name表示作业名称,job_action表示作业的内容,enabled表示作业是否可用。
我们也可以通过以下语句查看指定作业的详细信息:
BEGIN
DBMS_OUTPUT.PUT_LINE(DBMS_SCHEDULER.GET_JOB_ATTRIBUTES('test_job', attribute_name => 'repeat_interval'));
END;/
以上语句中,通过GET_JOB_ATTRIBUTES函数查看了名为test_job的作业的repeat_interval属性,即作业的执行频率。
三、修改作业
但在实际工作中,经常需要修改已经创建的作业。此时,可以使用以下代码修改作业的执行频率:
BEGIN
DBMS_SCHEDULER.SET_ATTRIBUTE('test_job', 'repeat_interval', 'FREQ=DLY;INTERVAL=1');END;
/
上述代码中,通过SET_ATTRIBUTE函数将名称为test_job的作业的执行频率修改为每天执行一次。
四、删除作业
如果某个作业不再需要执行,可以使用以下命令删除该作业:
BEGIN
DBMS_SCHEDULER.DROP_JOB('test_job');END;
/
以上命令中,使用DROP_JOB函数将名称为test_job的作业删除。执行结果为true表示作业删除成功。
总结:
通过本文介绍的方法,Oracle数据库管理员可以很方便地创建、查看、修改和删除定时任务——Job,从而能够更好地管理数据库的各种任务。