-- job 权限
grant create job to somebody;
-- job 创建
begin
dbms_scheduler.create_job (
job_name => 'AGENT_LIQUIDATION_JOB',
job_type => 'STORED_PROCEDURE',
job_action => 'AGENT_LIQUIDATION.LIQUIDATION', --存储过程名
start_date => sysdate,
repeat_interval => 'FREQ=MONTHLY; INTERVAL=1;
BYMONTHDAY=1;BYHOUR=1;BYMINUTE=0;BYSECOND=0', --
按月,间隔为1个(月),每月1号,凌晨1点
comments => '执行代理商清分程序'
);
end;
/
-- job 执行时间测试
DECLARE
start_date date;
return_date_after date;
next_run_date date;
BEGIN
start_date := sysdate;--to_timestamp_tz('10-OCT-2004
10:00:00','DD-MM-YYYY HH24:MI:SS');
return_date_after := start_date;
FOR i IN 1..10 LOOP
DBMS_SCHEDULER.EVALUATE_CALENDAR_STRING('FREQ=MONTHLY; INTERVAL=1;
BYMONTHDAY=1;BYHOUR=1;BYMINUTE=0;BYSECOND=0',start_date,
return_date_after, next_run_date);
DBMS_OUTPUT.PUT_LINE('next_run_date: ' ||
to_char(next_run_date,'yyyy-mm-dd HH24:MI:SS'));
return_date_after := next_run_date;
END LOOP;
END;
/
-- job 查询
select owner, job_name, state from dba_scheduler_jobs;
select job_name, state from user_scheduler_jobs;
-- job 启用
begin
dbms_scheduler.enable('BACKUP_JOB');
end;
/
-- job 运行
begin
dbms_scheduler.run_job('COLA_JOB',TRUE); -- true代表同步执行
end;
/
-- job 停止(不太好用)
begin
dbms_scheduler.stop_job(job_name => 'COLA_JOB',force => TRUE);
end;
/
-- job 删除(对停job来说好用)
begin
dbms_scheduler.drop_job(job_name => 'COLA_JOB',force => TRUE);)
end;
/
分享到:
相关推荐
1. **创建作业**:你可以定义一个作业(Job),指定它应该执行的PL/SQL代码或者操作系统命令。例如,可以创建一个作业来每天晚上备份数据库。 2. **调度策略**:作业可以被安排在特定的时间点运行,或者按照一定的...
在Oracle数据库系统中,"JOB"是用于调度和自动化任务执行的一种功能,它允许你在预定义的时间点运行存储过程、PL/SQL块或其他数据库操作。本文将深入探讨Oracle中的JOB创建,以及如何编写和使用相应的脚本来设定定时...
Oracle Job是Oracle数据库中的一种调度工具,用于在指定的时间执行一系列数据库操作,如PL/SQL块、存储过程、包或操作系统命令。Oracle Job是Oracle的DBMS_SCHEDULER或之前版本中的DBMS_JOB包的一部分,它允许数据库...
Oracle Database Scheduler是Oracle 10g及以后版本引入的一个功能强大的任务调度工具,它取代了之前的DBMS_JOB包。Scheduler可以安排任务在特定的时间或间隔执行,支持各种类型的作业,如PL/SQL过程、操作系统命令...
- **Job**:Job是由Oracle Scheduler管理的一个可调度的单元,它可以关联到一个程序(Program)和一个调度(Schedule),并且可以在指定的时间点或者周期内执行。 - **Program**:Program是一个存储的过程或块,它定义了...
接下来,我们将通过具体的示例来展示如何使用DBMS_JOB API来管理和操作Oracle定时任务。 ##### 示例1:创建一个新的job ```sql BEGIN DBMS_JOB.SUBMIT ( job => 1, -- job ID what => 'BEGIN MY_PROCEDURE; END...
2. **调度作业**:一旦作业创建完成,可以使用`ALTER SYSTEM`命令或`DBMS_JOB.SCHEDULE`来更改作业的调度,如调整执行频率或时间。 3. **提交作业**:使用`COMMIT`确保作业设置被持久化到数据库中。 4. **执行作业...
Oracle Job管理是数据库中用于定时执行任务的一种机制,它允许用户安排存储过程、PL/SQL块或其他数据库操作在预设的时间点自动运行。在Oracle 9i版本中,我们可以使用SQL命令或者DBMS_SCHEDULER包来创建、修改和管理...
- **Job**:代表一个特定的任务或操作。 - **Program**:指定如何执行任务(例如使用存储过程)。 - **Schedule**:定义任务何时何地执行的时间表。 #### 3. 题目解析 - **选项 A**:正确。Job 是调度程序中的一个...
Oracle的定时任务,通常被称为“Jobs”,是数据库管理系统中的一个重要组成部分,主要用于自动化执行数据库操作,如数据备份、数据清理、报告生成等。Job界面管理工具则为这些任务提供了图形化的配置和管理界面,...
Oracle Scheduler 是 Oracle 数据库自 10g 版本起引入的一项重要功能,用于管理和调度定时任务。它不仅提供了对传统 Jobs 的替代方案,而且增加了更多高级特性,如复杂的调度规则、事件驱动任务等。本文将详细介绍 ...
在数据库管理中,有时我们需要设置自动执行的任务,也就是job,以便定期进行数据统计、备份等操作。本文将介绍如何在SQL Server和Oracle中创建job。 在SQL Server中,创建job通常通过SQL Server代理服务(SQL ...
DBMS_JOB适用于Oracle 9i和10g,而DBMS_SCHEDULER在11g及以后版本中更为推荐,因为它提供了更丰富的功能和更好的灵活性。 6. **创建定时任务删除数据**:使用DBMS_SCHEDULER,我们可以创建一个定时任务,定期运行...
* 安装好 BIEE 10g 之后,服务中不是出现了 Oracle BI Schedule * 需要配置好 Schedule 知识点: 在 Oracle BIEE 中,需要配置好 Schedule 才可以启动 Oracle BI Schedule 服务。 问题10:Oracle BI Schedule 配置...
在 Oracle Scheduler 中,首先需要定义一个程序(Program),它指定了要执行的操作类型。例如,在给定的部分内容中,我们创建了一个名为 `MOVE_ARCS` 的程序,该程序的类型为 `EXECUTABLE`,并且定义了要执行的外部...
### Oracle高级复制操作详解 #### 一、判断数据库是否支持高级复制功能 为了确定Oracle数据库是否支持高级复制功能,可以通过以下两种方式来进行检查: 1. **通过查询`v$option`视图**: ```sql SELECT value ...
Oracle的Scheduler是10G版本引入的一个强大工具,旨在管理和调度数据库内的任务,包括执行存储过程、PL/SQL块以及操作系统级别的脚本。DBMS_SCHEDULER包提供了比旧版的DBMS_JOB更多的功能和灵活性,使得数据库管理员...
1. **定义任务**:你可以创建各种类型的作业(job),比如PL/SQL程序、SQL脚本、操作系统命令或者Java程序,并指定它们的执行频率和时间。 2. **调度策略**:支持基于时间的调度(如每天、每周、每月执行一次)和...