欢迎投稿

今日深度:

oracle job,oracle

oracle job,oracle


开启指定的job:
 BEGIN
   dbms_auto_task_admin.enable(
   client_name => 'sql tuning advisor',
   peration => NULL,
   window_name => 'MONDAY_WINDOW');
 END; 
 /

oracle中怎创建一个job

将下面的存储过程名称换成实际的存储过程名称,就可以实现您要的功能的,
现为你写的,直接在pl/sql dev里面执行就行了,有啥问题再联系我。
上面一段是删除job,后面的是建立job,我写了判断语句,可以随意执行
参考oracle的 dbms_job包。

---------------------华丽丽的分割线----------------------------
DECLARE
i_count number;
job_num number;
BEGIN
select count(job) into i_count from user_jobs where upper(what)='存储过程名称;';
if i_count>0 then
select job into job_num from user_jobs where upper(what)='存储过程名称;';
dbms_job.remove(job_num);
end if;
END;
/
commit;
DECLARE X NUMBER;
BEGIN
DBMS_JOB.SUBMIT
( job => X
,what => '存储过程名称;'
,next_date => to_date(to_char(sysdate+1,'yyyy-mm-dd')||' 01:00:00','yyyy-mm-dd hh24:mi:ss')
,interval => 'SYSDATE+1'
,no_parse => TRUE
);
END;
/
commit;

 

oracle job定时任务,正解,网上搜的不用贴出来了

数据库作业

作业的创建

语法:

DBMS_JOB.SUBMIT(
job OUT BINARY_INTEGER,
what IN VARCHAR2, NEXT_DATE IN DATE DEFAULTSYSDATE,
interval IN VARCHAR2 DEFAULT 'NULL',
no_parse IN BOOLEAN DEFAULT FALSE,
instance IN BINARY_INTEGER DEFAULT ANY_INSTANCE,
force IN BOOLEAN DEFAULT FALSE);

what 为需要定时调用的 PL/SQL代码
interval 为下次运行作业的时间

SQL> create table jjk(a date);
表已创建。

SQL> create or replace procedure test1 as
2 begin
3 insert into jjk values(sysdate);
4 end test1;
5 /
过程已创建。

SQL> variable jobno number;
SQL> begin
2 dbms_job.submit(:jobno, 'test1;', trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')');
3 commit;
4 end;
5 /
PL/SQL 过程已成功完成。

作业的查询

SQL> SELECT job, what FROM user_jobs;

JOB
----------
WHAT
-------------------------------------
21
test1;

作业的修改

修改 作业执行的存储过程、下次执行时间、周期。
dbms_job.CHANGE( job, what, next_date, interval);
仅仅修改 作业执行的存储过程
dbms_job.WHAT( job, what);
仅仅修改 作业下次执行时间
dbms_job.NEXT_DATE( job, next_date);
仅仅修改 作业执行的周期。
dbms_job.INTERVAL( job, interval);

作业的删除

SQL> begin
2 dbms_job.remove(21);
3 commit;
4 end;
5 /

PL/SQL 过程已成功完成。...余下全文>>
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/4114.html NewsArticle oracle job,oracle 开启指定的job: BEGIN dbms_auto_task_admin.enable( client_name = 'sql tuning advisor', peration = NULL, window_name = 'MONDAY_WINDOW'); END; / oracle中怎创建一个job 将下面的存储过程名称换成实际的...
评论暂时关闭