oracle的job创建

原创 2015年07月07日 15:03:15
 
 
 

  1.选择job ---> new

  oracle中手动创建job - 汪正习 - 汪正习

  2.创建界面

  oracle中手动创建job - 汪正习 - 汪正习

  oracle中手动创建job - 汪正习 - 汪正习

 

==========================================================================================

创建ORACLE JOB 

oracle job简介
主要的使用情景
定时在后台执行相关操作:如每天晚上0点将一张表的数据保存到另一张表中,2:

定时备份数据库等

熟化说万事开头难,这里我只简单记述一个创建一个简单的job
步骤如下:
1、创建一张表g_test
create table G_TEST
(
ID     NUMBER(12),
C_DATE DATE
)
2、创建一个sequence
create sequence G_SEQ
minvalue 1
maxvalue 999999999999999999999999999
start with 141
increment by 1
cache 20;

3、创建一个存储过程
create or replace procedure prc_g_test is
begin
insert into g_test values(g_seq.nextval,sysdate);
end prc_g_test;

4、创建job,
使用Submit()过程,工作被正常地计划好。
这个过程有五个参数:job、what、next_date、interval与no_parse。

PROCEDURE Submit ( job       OUT binary_ineger,
What      IN  varchar2,
next_date IN  date,
interval  IN  varchar2,
no_parse  IN  booean:=FALSE)

job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作


what参数是将被执行的PL/SQL代码块。
next_date参数指识何时将运行这个工作。
interval参数何时这个工作将被重执行。
no_parse参数指示此工作在提交时或执行时是否应进行语法分析——TRUE
指示此PL/SQL代码在它第一次执行时应进行语法分析,
而FALSE指示本PL/SQL代码应立即进行语法分析。

在command window窗口中执行下面脚本
variable job1 number;
begin
sys.dbms_job.submit(job => :job,
what => 'prc_g_test;',
next_date => to_date('22-10-2008 10:06:41', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'sysdate+1/1440');--每天1440分钟,即一分钟运行test过程一次
commit;
end;
/

-----------------------------------------------------------------------

-----------
在plSQL中我的做法是:

declare  
job number;     
begin
sys.dbms_job.submit(job,'prc_g_test;',sysdate,'sysdate+1/1440');
end;
-----------------------------------------------------------------------

-----------

5、查看创建的job
查看相关job信息
1、相关视图
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行job相关信息。
如:
select * from dba_jobs

6、运行JOB
说明:Run()过程用来立即执行一个指定的工作。这个过程只接收一个参数:
SQL> begin
2  dbms_job.run(:job);
3  end;
4  /

-----------------------------------------------------------------------

-----------
在plSQL中我的做法是:
begin
dbms_job.run(3017);
end;
-----------------------------------------------------------------------

-----------

7、删除JOB
SQL> begin
2  dbms_job.remove(:job);--:job可以用dba_jobs.job的值代替如:1198
3  end;
4  /


说明:在sqlplus命令行直接定义变量要variable!!!!

oracle创建job并执行job

1、首先job要在command命令下执行才有效 DECLARE X NUMBER; BEGIN SYS.DBMS_JOB.SUBMIT ( job => X ,what => 'test;' ,ne...
  • menghuannvxia
  • menghuannvxia
  • 2016年02月05日 16:52
  • 6095

Oracle:创建JOB定时执行存储过程

创建JOB定时执行存储过程有两种方式 方式1:通过plsql手动配置job,如下图: 方式2:通过sql语句,如下sql declare job_OpAutoDta pls_integer;--...
  • hwhua1986
  • hwhua1986
  • 2017年03月21日 10:06
  • 1089

oracle Sql 语句创建JOB

改造:  SQL Window模式 DECLARE   JOB_ID PLS_INTEGER; BEGIN   --作业 1   SYS.DBMS_JOB.SUBMIT(JOB       ...
  • lijiastone
  • lijiastone
  • 2011年11月02日 23:19
  • 22897

Oracle中job的实例

一、Oracle定时器(Job)各时间段写法汇总 对于DBA来说,数据库Job再熟悉不过了,因为经常要数据库定时的自动执行一些脚本,或做数据库备份,或做数据的提炼,或做数据库的性能优化,包括重建索引...
  • caixingyun
  • caixingyun
  • 2014年10月15日 17:59
  • 2310

Oracle中DBMS_JOB创建定时任务

用于安排和管理作业队列,通过使用作业,可以使ORACLE数据库定期执行特定的任务。 一、dbms_job涉及到的知识点 1、创建job: variable jobno number; dbms...
  • u013516966
  • u013516966
  • 2015年10月16日 17:30
  • 1148

oracle创建job并执行job及JOB问题解决汇总

1、首先job要在command命令下执行才有效  DECLARE X NUMBER; BEGIN SYS.DBMS_JOB.SUBMIT ( job => X ,what =>...
  • admin1973
  • admin1973
  • 2017年05月02日 11:17
  • 1221

在oracle数据库中如何创建job.

job就是一个定时器,例如:规定时间执行sql或存储过程. 下面这个实例是执行sql的job,希望对大家有所帮助.   ---创建job Declare   Job Number; Beg...
  • xiaozhu215
  • xiaozhu215
  • 2013年06月20日 18:02
  • 757

oracle简单的存储过程以及job示例

最近需要oracle循环定时执行一段sql语句,然后需要建立存储过程,本人的sql语句属于DML语句,步骤如下: 1、创建存储过程 create or replace procedure cube...
  • jiyang_1
  • jiyang_1
  • 2017年02月24日 11:28
  • 562

Oracle中的job的定时任务

oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。  一、查询系统中的job,可以查询视图 --相关视图 select * from dba_jobs; sele...
  • YSC1123
  • YSC1123
  • 2016年01月28日 12:51
  • 3840

创建oracle job、删除oracle job的脚本

1、查找用户自定义job的脚本:select t.WHAT,        t.INTERVAL,        t.job,        t.BROKEN,        t.FAILUR...
  • xiaoxl0524
  • xiaoxl0524
  • 2015年08月26日 14:30
  • 2514
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle的job创建
举报原因:
原因补充:

(最多只允许输入30个字)