oracle job
来源:百度文库 编辑:神马文学网 时间:2024/04/29 22:50:58
--oracle自动调用存储过程 ,注’作业调度‘和’任务‘是同义词。1 Oracle定时执行“JobQueue”的后台程序是SNP进程,所以要启动SNP进程,
首先,要确保整个系统的模式是可以启动SNP进程的,
以DBA的身份去执行如下命令:
svrmgrl> alter system disenable restricted session;
或sql> alter system disenable restricted session;
然后,修改初始化文件:
job_queue_process=n SNP进程的启动个数,缺省值为0,正常定义范围为0~36
job_queue_interval=N 系统每隔N秒唤醒该进程一次,缺省值为60秒,正常范围为1~3600秒2 语法
例
dbms_job.submit( job out binary_integer, 输出变量,此任务在任务队列中的编号
what in archar2, 要执行的过程名或函数名
next_date in date, 任务执行的时间
interval in varchar2, 上一次执行结束到下一次开始执行的时间间隔,
当interval设置为null时,该job执行结束后,就被从队列中删除。
周期性地执行,则要用‘sysdate+m’
no_parse in boolean
) 确保该用户拥有执行包dbms_job的权限,若没有,需要以DBA的身份将权利授予该用户。
grant execute on dbms_job to bill; 一些查看
数据字典user_jobs
select * from user_jobs;或
select job,next_date,next_sec,failures,broken from user_jobs;
job next_date next_sec failures broken
300 2000/10/10 11:45:15 0 N
这表示任务号为300的任务,下一次将在2000/10/10 11:45:15执行,此任务的执行失败记录为0次。
当执行job出现错误时,Oracle将其记录在日志里,失败次数每次自动加1。当执行失败次数达到16时
,Oracle就将该job标志为broken。此后,Oracle不再继续执行它,直到用户调用过程dbms_job.broken,
重新设置为not broken,或强制调用dbms_job.run来重新执行它。
其它包
dbms_job.change 、 dbms_job.what、dbms_job.interval可以用来修改提交的任务。
--删除作业调用,n表示作业序号
begin
dbms_job.remove(n);
end;
/
测试:
--------------------------------------------
create table tab_wj(indate date,mn number);
--------------------------------------------
create or replace procedure wjjtest is
varn number;
begin
varn:=123;
insert into tab_wj values(sysdate,varn);
commit;
end;
--------------------------------------------
declare
n number;begin sys.dbms_job.submit(
job =>n,
what =>'wjjtest;',
next_date =>to_date('200708241545','yyyymmddhh24mi'),
interval =>'sysdate+1/24/20',
no_parse => TRUE);
commit;end;
--------------------------------------------
首先,要确保整个系统的模式是可以启动SNP进程的,
以DBA的身份去执行如下命令:
svrmgrl> alter system disenable restricted session;
或sql> alter system disenable restricted session;
然后,修改初始化文件:
job_queue_process=n SNP进程的启动个数,缺省值为0,正常定义范围为0~36
job_queue_interval=N 系统每隔N秒唤醒该进程一次,缺省值为60秒,正常范围为1~3600秒2 语法
例
dbms_job.submit( job out binary_integer, 输出变量,此任务在任务队列中的编号
what in archar2, 要执行的过程名或函数名
next_date in date, 任务执行的时间
interval in varchar2, 上一次执行结束到下一次开始执行的时间间隔,
当interval设置为null时,该job执行结束后,就被从队列中删除。
周期性地执行,则要用‘sysdate+m’
no_parse in boolean
) 确保该用户拥有执行包dbms_job的权限,若没有,需要以DBA的身份将权利授予该用户。
grant execute on dbms_job to bill; 一些查看
数据字典user_jobs
select * from user_jobs;或
select job,next_date,next_sec,failures,broken from user_jobs;
job next_date next_sec failures broken
300 2000/10/10 11:45:15 0 N
这表示任务号为300的任务,下一次将在2000/10/10 11:45:15执行,此任务的执行失败记录为0次。
当执行job出现错误时,Oracle将其记录在日志里,失败次数每次自动加1。当执行失败次数达到16时
,Oracle就将该job标志为broken。此后,Oracle不再继续执行它,直到用户调用过程dbms_job.broken,
重新设置为not broken,或强制调用dbms_job.run来重新执行它。
其它包
dbms_job.change 、 dbms_job.what、dbms_job.interval可以用来修改提交的任务。
--删除作业调用,n表示作业序号
begin
dbms_job.remove(n);
end;
/
测试:
--------------------------------------------
create table tab_wj(indate date,mn number);
--------------------------------------------
create or replace procedure wjjtest is
varn number;
begin
varn:=123;
insert into tab_wj values(sysdate,varn);
commit;
end;
--------------------------------------------
declare
n number;begin sys.dbms_job.submit(
job =>n,
what =>'wjjtest;',
next_date =>to_date('200708241545','yyyymmddhh24mi'),
interval =>'sysdate+1/24/20',
no_parse => TRUE);
commit;end;
--------------------------------------------
oracle job
Oracle job 管理
oracle job 例子 - dolphin
创建oracle job
[精华] [轉載]在Oracle中实现定时操作---Job Queue
Marketing job
2345JOB
51job.com
51job.com
51job.com
Job Hall的TYR
面試精選問題庫 -51job|News
威客網絡接Job成掘金新遊戲
INTRODUCTION TO JOB CONTROL LANGUAGE
Tactics for Job-hunt Success
job 定时 配置 - Qzone日志
Good job! My lovely children
Oracle技术文章
下一个Oracle?
ORACLE常用命令
Oracle触发器
oracle 常用命令
oracle 注意事项
oracle 常用命令