【Vegas原创】How to rebuild the inflexible Oracle Job?
2009-03-20 14:34
411 查看
今天很烦人,大早上的,公司MES的好几个Job卡在那了,不能kill,也不能broken,不过最后还是解决了~
出现这种问题,restart是肯定的~
以下是步骤:
0,备份你的job脚本~因为后续要删除job,重建的~
用PLSQL Developer.具体方法大家都知道。
1,先将queue_processes设为0,这样,在第3步kill掉session后,就不会再自己run job了。
SQL>alter system set job_queue_processes=0;
2,查出现在正在run的job:
select * from dba_jobs_running order by sid;
3,记住上面的sid,打开你的OEM,在会话中,将其kill掉!!!
4,restart database~ 实在不行,restart computer ~~
5,将queue_processes还原:
SQL>alter system set job_queue_processes=10;
6,查询dba_jobs:
select * from dba_jobs;
7,分别按步骤6查出的user进入系统,批量删除job:
begin
for v in(select * from user_jobs) loop
dbms_job.remove(v.job);
end loop;
commit;
end;
8,将备份的job脚本修改为如下格式,重建:
declare
-- Local variables here
job1 number(12);
BEGIN
sys.dbms_job.submit( job1,
'Proc_Update_WIP_Report;',
to_date('01-01-4000', 'dd-mm-yyyy'),
'sysdate+5/(24*60)');
commit;
sys.dbms_job.submit( job1,
'proc_GetDataForSummaryRpt(to_char(SYSDATE,''yyyy-MM-dd HH24:MI:ss''));',
to_date('19-03-2009 16:54:23', 'dd-mm-yyyy hh24:mi:ss'),
'sysdate+5/(24*60)');
commit;
sys.dbms_job.submit( job1,
'pc_dailyjob_ForDTMiddleDB(sysdate);',
to_date('20-03-2009 08:35:00', 'dd-mm-yyyy hh24:mi:ss'),
'TRUNC(SYSDATE+1)+(8*60+35)/(24*60)');
commit;
end;
出现这种问题,restart是肯定的~
以下是步骤:
0,备份你的job脚本~因为后续要删除job,重建的~
用PLSQL Developer.具体方法大家都知道。
1,先将queue_processes设为0,这样,在第3步kill掉session后,就不会再自己run job了。
SQL>alter system set job_queue_processes=0;
2,查出现在正在run的job:
select * from dba_jobs_running order by sid;
3,记住上面的sid,打开你的OEM,在会话中,将其kill掉!!!
4,restart database~ 实在不行,restart computer ~~
5,将queue_processes还原:
SQL>alter system set job_queue_processes=10;
6,查询dba_jobs:
select * from dba_jobs;
7,分别按步骤6查出的user进入系统,批量删除job:
begin
for v in(select * from user_jobs) loop
dbms_job.remove(v.job);
end loop;
commit;
end;
8,将备份的job脚本修改为如下格式,重建:
declare
-- Local variables here
job1 number(12);
BEGIN
sys.dbms_job.submit( job1,
'Proc_Update_WIP_Report;',
to_date('01-01-4000', 'dd-mm-yyyy'),
'sysdate+5/(24*60)');
commit;
sys.dbms_job.submit( job1,
'proc_GetDataForSummaryRpt(to_char(SYSDATE,''yyyy-MM-dd HH24:MI:ss''));',
to_date('19-03-2009 16:54:23', 'dd-mm-yyyy hh24:mi:ss'),
'sysdate+5/(24*60)');
commit;
sys.dbms_job.submit( job1,
'pc_dailyjob_ForDTMiddleDB(sysdate);',
to_date('20-03-2009 08:35:00', 'dd-mm-yyyy hh24:mi:ss'),
'TRUNC(SYSDATE+1)+(8*60+35)/(24*60)');
commit;
end;
相关文章推荐
- 【Vegas原创】How to rebuild the inflexible Oracle Job?
- 【Vegas原创】How to rebuild the inflexible Oracle Job?
- ORCLE 如何停止一个JOB【HOW TO STOP A JOB IN THE ORACLE】
- ORCLE 如何停止一个JOB【HOW TO STOP A JOB IN THE ORACLE?】 推荐
- HOW TO Kill The Running Job in Oracle
- How to get the oracle server version?
- How To Query And Change The Oracle Hidden Parameters In Oracle 10g and 11g (文档 ID 315631.1)
- How to rebuild rdoc for all the installed gems?
- How to change the language to English for Oracle SQL Developer(如何将SQL developer改成英文界面)
- How to Audit the Top 10 Oracle E-Business Suite Security Risks
- How to generate Oracle Net tracing for a DBMS_JOB using a database link
- How to Add the JVM Component to an Existing Oracle Database (Doc ID 1461562.1)
- How to do the job effectively and excellently
- HOW TO CHANGE THE DEFAULT KEY-VALUE SEPARATOR OF A MAPREDUCE JOB
- How to get the rowid when insert the data to Oracle database
- How to Configure Oracle Redo on the Intel PCIe SSD DC P3700
- how-to-kill-the-running-job
- how to install the Oracle Java (JDK) 8, Oracle Java (JDK + JRE) 7 or Oracle Java (JDK) 6 on Ubuntu 1
- How to Determine the Version of Oracle XML Publisher for Oracle E-Business Suite 11i and Release 12 (Doc ID 362496.1)
- Oracle - How to enable/disable a scheduled job?