范例源码:
-- 创建新表 create table T_TEST_JOB ( ID LONG, TEST_DATE TIMESTAMP(6) ) tablespace GBIAPS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64 minextents 1 maxextents unlimited ); -- 创建序列 create sequence SEQ_TEST_JOB minvalue 1 maxvalue 9999999999999999999999999999 start with 1 increment by 1 cache 10; -- 创建存储过程 create or replace procedure P_TEST_JOB as begin insert into t_test_job(id,test_date) values (SEQ_TEST_JOB.NEXTVAL,sysdate); end; / /* 在使用create_job或者create_schedule前,请先检查 NLS_DATE_LANGUAGE, NLS_DATE_FORMAT, NLS_TIMESTAMP_FORMAT, NLS_TIMESTAMP_TZ_FORMAT 等参数的值, 通过alter session 命令来修改 alter session set NLS_DATE_FORMAT='yyyy-MM-dd'; alter session set NLS_TIMESTAMP_FORMAT='yyyy-MM-dd hh24:mi:ss'; alter session set NLS_TIMESTAMP_TZ_FORMAT='yyyy-MM-dd HH:MI:SS.FF AM TZR'; */ select * from nls_session_parameters where parameter like '%_DATE_%' or parameter like '%_TIMESTAMP_%'; -- 创建job -- FREQ 用来指定间隔的时间周期,可选参数有: YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, SECONDLY -- INTERVAL 用来指定间隔的频繁,可指定的值的范围从1-999 -- 附加的参数有: BYMONTH,BYWEEKNO,BYYEARDAY,BYMONTHDAY,BYDAY,BYHOUR,BYMINUTE,BYSECOND /* 每周的1,3,5运行job FREQ=WEEKLY; BYDAY=MON,WED,FRI 每年的3,6,9,12月的30号运行job FREQ=YEARLY; BYMONTH=MAR,JUN,SEP,DEC; BYMONTHDAY=30 每月1号凌晨1点执行一次 Freq=Monthly;BYMONTHDAY=1;BYHOUR=1;BYMINUTE=0;BYSECOND=0;Interval=1 */ begin sys.dbms_scheduler.create_job(job_name => 'JOB_TESTJOB', job_type => 'STORED_PROCEDURE', job_action => 'P_TEST_JOB', start_date => sysdate, repeat_interval => 'Freq=MINUTELY;BYSECOND=0;Interval=1', end_date => to_date(null), job_class => 'DEFAULT_JOB_CLASS', enabled => true, auto_drop => false, comments => 'Baiyun Airport Web Site'); end; / -- 启动job begin dbms_scheduler.enable('JOB_TESTJOB'); end; / -- 运行job begin dbms_scheduler.run_job('JOB_TESTJOB',TRUE); -- true代表同步执行 end; / -- 停止job begin dbms_scheduler.stop_job(job_name => 'JOB_TESTJOB',force => TRUE); end; / -- 删除job begin dbms_scheduler.drop_job(job_name => 'JOB_TESTJOB',force => TRUE); end; / -- 查询job select * from user_scheduler_jobs; select * from dba_scheduler_jobs; -- 查看数据 select * from t_test_job; -- 删除数据 delete from t_test_job;
相关推荐
在这个例子中,`REPEAT_INTERVAL` 参数设置为 `FREQ=MINUTELY;INTERVAL=30`,意味着这个调度将每 30 分钟重复一次。 ### 创建作业(Job) 有了程序和调度后,下一步是创建作业(Job)。作业是指定在某个特定时间或...
Oracle Job是Oracle数据库中的一个核心特性,用于在预定义的时间执行特定的数据库任务,比如运行SQL脚本、数据备份、维护或性能监控等。Oracle Job的全称是Database Scheduler Job,它通过Oracle Database Scheduler...
以下是一个简单的示例,展示了如何在PL/SQL中使用操作系统命令执行FTP上传: ```sql DECLARE l_command VARCHAR2(2000); BEGIN l_command := 'ftp -n -v '; l_command := l_command || 'your_ftp_server '; l_...
在Oracle中,创建存储过程使用`CREATE PROCEDURE`语句,调用则通过`EXECUTE`命令。例如,一个简单的存储过程可能用于计算两个数字的和: ```sql CREATE OR REPLACE PROCEDURE add_numbers (p_num1 NUMBER, p_num2...
OracleShell是一个典型的例子,它是Java编写的,包含在名为`oracleShell.jar`的压缩包文件中。 OracleShell允许用户通过命令行接口与Oracle数据库进行交互,执行SQL查询、操作数据以及利用可能存在的安全漏洞来提升...
在这个例子中,`my_job`是job的名称,`my_package.my_procedure`是要执行的PL/SQL过程,`start_date`指定了开始运行的时间,`repeat_interval`定义了job的执行频率。 二、修改和删除Job 如果需要修改已创建的job,...
在这个例子中,我们连接到Oracle数据库,然后执行`DBMS_SCHEDULER.RUN_JOB`存储过程来启动名为"your_job_name"的作业。这需要在Oracle数据库中已经定义了这个作业,并赋予了相应的执行权限。 至于标签“源码”和...
在Oracle中,DBMS_SCHEDULER是用于创建、管理和执行计划任务的包,这些任务可以是存储过程、PL/SQL块或其他可执行的数据库对象。通过使用DBMS_SCHEDULER,你可以设置任务在特定时间运行,例如每天、每周或当特定条件...
在这个例子中,我们创建了一个名为`my_task`的作业,它每天执行一次`my_package.my_procedure`这个PL/SQL过程。 2. **配置任务参数** - `job_name`是作业的唯一标识符。 - `job_type`指明作业类型,如PL/SQL块、...
在这个“计算机软件-编程源码-oracle数据库备份的例子.zip”压缩包中,我们可能会找到一个关于如何通过编程方式执行Oracle数据库备份的示例。 1. **脚本备份**:在许多情况下,开发人员会编写脚本来自动化备份过程...
在这个例子中,`my_package.my_procedure`是你希望每天晚上9点执行的存储过程。`next_date`参数指定了首次执行的时间,`interval`参数表示每隔24小时加9小时(即9点)再次执行。 请注意,你需要根据实际的存储过程...
### Oracle 物化视图详解 #### 一、物化视图的...物化视图是Oracle数据库中一项重要的功能,它能够显著提高查询效率,特别是在处理大量数据和复杂查询时。通过合理设计和管理物化视图,可以大大提升系统的整体性能。
在这个例子中,我们创建了一个名为"DAILY_DB_BACKUP"的作业,它执行的是存储在指定路径的SQL脚本,并且设置为每天凌晨1点执行一次。 总的来说,Oracle的定时执行计划任务是数据库维护和管理中不可或缺的一部分,它...
在这个例子中,`my_procedure`是你要执行的存储过程,`start_date`定义了首次执行时间,`repeat_interval`定义了执行频率。 三、数据库触发器示例 ```sql CREATE OR REPLACE TRIGGER daily_check BEFORE LOGON ON ...
在这个例子中,我们将创建一个名为`INF_HstIshISTR`的存储过程,用于向表`abc`中插入一条记录。 ```sql CREATE OR REPLACE PACKAGE mqce IS PROCEDURE INF_HstIshISTR; END mqce; CREATE OR REPLACE PACKAGE BODY...
在这个例子中,描述了创建一个过程SEND_APPROVE,用于获取需要审批单据的主管信息,并将其发送到主管的邮箱中。然后利用DBMS_SCHEDULER.CREATJOB包创建了一个定时任务,该任务计划在特定的时间(如每晚23:50)运行,...
在这个例子中,`my_proc`是存储过程的名字,`param1`是输入参数,`param2`是输出参数。`IN`表示参数值在调用时传入,`OUT`表示在过程执行后传出。`AS`关键字后定义了过程体,其中包含了一条SQL语句,用于计算`param2...
Oracle Job 是 Oracle 数据库中的一个特性,用于在指定的时间执行一系列数据库操作,这些操作可以是 PL/SQL 块、存储过程或者包。这个功能在数据库管理、数据维护、批处理任务等方面非常实用。在本篇文章中,我们将...