1、创建表
-- create table
CREATE TABLE g_test(c_id NUMBER(28) PRIMARY KEY,c_date DATE);
2、创建序列
--create sequence
CREATE SEQUENCE seq_test MINVALUE 1 MAXVALUE 999999999999999999999999999
START WITH 1 INCREMENT BY 1 NOCACHE;
3、创建存储过程
-- create procedure
CREATE OR REPLACE PROCEDURE P_TEST AS
V_SEQ NUMBER(28);
BEGIN
SELECT SEQ_TEST.NEXTVAL INTO V_SEQ FROM dual;
IF V_SEQ <= 999999999999999999999999999 THEN
INSERT INTO G_TEST VALUES (V_SEQ, SYSDATE);
END IF;
END P_TEST;
/
4、创建job
-- create job
BEGIN
-- 每一分钟执行一次存储过程 P_TEST
-- job_action : 存储过程名
-- start_date : 执行job时间/日期
-- repeat_interval : 间隔时间
dbms_scheduler.create_job(job_name => 'Job_g_test_insert',
job_type => 'stored_procedure',
job_action => 'P_TEST',
start_date => TRUNC(SYSDATE),
repeat_interval => 'sysdate+1/1440');
--启用job
-- name即为上面的job_name
dbms_scheduler.enable(NAME => 'Job_g_test_insert');
-- 运行Job
dbms_scheduler.run_job(job_name => 'Job_g_test_insert',
use_current_session => FALSE);
END;
/
到这一步后,就可以查询表 g_test,看到数据了。
5、停止job
-- 停止job
BEGIN
dbms_scheduler.disable(NAME => 'Job_g_test_insert');
END;
/
6、删除job
-- 删除job
BEGIN
dbms_scheduler.drop_job(JOB_NAME => 'Job_g_test_insert');
END;
/
repeat_interval 参数:
1/24 :一小时
1/1440 : 一分钟
1/(3600*24) : 一秒钟
sysdate+1 : 每天运行一次
sysdate+1/24 : 每一小时运行一次
sysdate+1/1440 : 每一分钟运行一次
sysdate+1/(3600*24) : 每一秒钟运行一次
sysdate+7 : 每星期运行一次
以上时间间隔不能保证任务(job)的下一次运行在一个特定的时间,仅仅能够指定一个任务两次运行之间的时间间隔。
特定日期或时间的例子:
trunc(sysdate+1) : 每天午夜12点
trunc(sysdate+1)+(8*60+30)/(24*60) : 每天早上8:30
trunc(last_date(sysdate)+1) : 每个月第1天的午夜12点
next_day(trunc(sysdate),"tuesday"+12/24) : 每星期二中午12点
分享到:
相关推荐
Oracle 创建 Job 实例是指在 Oracle 数据库中创建一个计划任务,用于在特定的时间点执行特定的操作。以下是创建 Job 实例的详细过程和相关知识点: 一、创建 Job 实例 要创建一个 Job 实例,需要使用 dbms_job....
从给定的Oracle Job实例测试通过的描述与代码片段中,我们可以提炼出多个关于Oracle数据库管理、编程与作业调度的关键知识点。以下是对这些知识点的详细解释: ### 1. 创建序列(Sequence) 在Oracle数据库中,...
例如,可能需要每分钟将一个表中的数据更新到另一个表中,这样的任务可以通过创建 Oracle 的 Job 来实现。 #### 一、准备工作 1. **创建目标表**:首先需要创建一个用于存储定时更新数据的目标表。 ```sql ...
完成以上步骤后,即可成功创建一个新的 Oracle 数据库实例。这涉及到环境变量的配置、必要目录的创建、密码文件的建立以及初始化参数文件的详细设置。通过这些步骤,能够确保 Oracle 实例的安全运行和高效管理。
3. **SID (System Identifier)**:每个Oracle实例都有一个唯一的SID来标识它。 4. **数据库认证方式**:常见的认证方式包括密码文件认证、操作系统认证等。 5. **脚本编写**:创建数据库及执行数据库管理任务通常...
3. **Oracle Job实例** 例如,创建一个每小时运行的简单PL/SQL作业,用于更新统计数据: ```sql BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'UPDATE_STATISTICS', job_type => 'PLSQL_BLOCK', job_...
手动创建Oracle实例是一个涉及多个步骤的过程,这不仅考验着数据库管理员对Oracle数据库系统的理解,也体现了其在系统配置与管理方面的能力。以下将基于提供的文件信息,深入解析手动创建Oracle实例的关键步骤及相关...
1. **Job No**: 这是一个由`dbms_job.submit()`过程返回的`BINARY_INTEGER`类型值,用于唯一标识一个Job。 2. **What**: 指将要执行的PL/SQL代码块。 3. **Next Date**: 表示Job首次执行的时间。如果不指定,则Job...
oracle10g创建、启用、执行、停用、删除、查询job实例
使用`DBMS_JOB`包中的`SUBMIT`过程来创建一个新的作业。例如: ```sql DECLARE job_feeid_create NUMBER; BEGIN DBMS_JOB.SUBMIT(job_feeid_create, 'wlk_check_fee;', SYSDATE, 'TRUNC(SYSDATE+1)'); COMMIT...
在Oracle中,函数也是一种数据库对象,它可以接受参数并返回一个结果。函数通常用于执行简单的计算或逻辑判断。 示例代码中出现了一个名为`FUN_QUERY`的函数: ```sql CREATE OR REPLACE FUNCTION FUN_QUERY...
在RAC环境中,管理任务的执行通常涉及到了解如何指定特定的job在特定的实例上运行,这在数据库的日常管理和维护中是一个重要的知识点。 在Oracle数据库中,job是通过DBMS_JOB和DBMS_SCHEDULER这两个包来管理的。这...
以下是一个创建Job的实例: 1. 创建一个名为`pig`的表,其中包含一个日期类型的字段`a`: ```sql SQL> create table pig(a date); Table created SQL> commit; Commit complete ``` 2. 创建一个存储过程`bb`,其...
本文将通过一个实例来详细介绍 Oracle AQ 的使用。 一、AQ 的安装和配置 AQ 需要在 Oracle 数据库中安装和配置。首先,需要创建两个用户 bz_admin 和 bz,然后授予它们相应的权限。bz_admin 用于管理 AQ,而 bz ...
Oracle Job是一个计划任务管理工具,允许用户在预设的时间执行数据库操作。这可以是定时运行的SQL查询、存储过程或其他数据库任务。创建Job通常使用DBMS_SCHEDULER或者DBMS_JOB包,它们提供了调度、监控和控制作业的...
创建一个视图,用于存储各部门平均工资及其等级的信息。 3. **使用视图查询**: ```sql SELECT dname, t1.deptno, grade, avg_sal FROM v$_dept_avg_sal_info t1 JOIN dept ON (t1.deptno = dept.deptno) ...
Job是Oracle的一个调度工具,它允许用户在特定时间或按固定频率执行数据库操作,如存储过程、PL/SQL块或者SQL查询。创建Job的过程包括定义任务、指定执行时间以及关联执行的SQL或PL/SQL代码。例如,`MYPROC.prc`可能...
创建一个Oracle JOB通常涉及以下几个步骤:定义作业(DBMS_SCHEDULER.CREATE_JOB),指定执行时间(DBMS_SCHEDULER.SET_ATTRIBUTE),启动作业(DBMS_SCHEDULER.RUN_JOB),以及监控和管理作业状态(DBMS_SCHEDULER....
上述代码创建了一个Job,每隔一分钟执行一次`test_proc`过程。其中,`test_proc`过程可以用来执行任何需要的任务,比如数据同步。 ##### Job的常用Interval值: - 每天凌晨12点:`'TRUNC(SYSDATE+1)'` - 每天上午8...