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 999999999999999999999999
999
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
原创
©著作权归作者所有:来自51CTO博客作者Bensantan的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
单体JOB向分布式JOB迁移案例
本文记录了如何讲一个单体式的项目一步步改造成分布式job(xxl-job),并如何处理其中遇到的问题及解决思路,
定时任务 spring 初始化 xxljob quartz -
Oracle11g Data Guard--创建物理备库
Oracle 11g Data Guard 管理
oracle hive SQL -
停止Oracle Job
ORACLE如何停止一个JOB相关表、视图dba_jobs:包含登录用户所有的JO行一个超长时间...
数据库 操作系统 sql oracle 重新启动 -
Oracle job 使用
步骤:(1) 创建作业(2) 创建job dbms_job.submit(); submit ( jobno OUT binary_ineger,
oracle date table 工作 存储 -
oracle的JOB
前文再续,上面说的oracle的JOB,近期有些体会,记录一下:零、创建JOB创建JOB 1=
oracle job 存储过程 正常运行 -
Oracle Job 知识
最近需要是使用Oracle Job,以前搞的现在都生疏了,还是准备整理好把知识留下来,下面是一个备份短信日志的Job的处理过程。第一部分:
oracle date 工作 jobs integer