Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

After killing the job:job broken being executed by oracle, the total time of job is still growing.

2025-01-19 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >

Share

Shulou(Shulou.com)06/01 Report--

Original post address http://blog.csdn.net/flower_xixi/article/details/26373871

1. First determine the JOB number to stop

select * from dba_jobs_running;--Get sid and job number

2. Broken JOB you confirmed

In PL/SQL Developer, you can use the broken option; or you can use the statement:

EXEC DBMS_JOB.BROKEN(job#,TRUE);--Add job number, note commit

3. Oracle Session for Kill

select * from v$session where sid='97' --SERIAL#from sid #

Find the SESSION(SID,SERIAL#) for the job and execute the following command:

--ALTER SYSTEM KILL SESSION 'sid,serial#';

--If you use ALTER SYSTEM KILL SESSION to execute for a long time, you can actually use OS commands to quickly KILL SESSION. The steps are as follows:

select * from v$session where sid='97'--get paddr from sid number

select * from v$process where addr='6C8F14C4' --Add the value of addr to get the value of spid, which is used when killing commands

For Windows, at the DOS Prompt: orakill oraclesid pid--Note that oraclesid is the database instance name

For UNIX at the command line> kill -9 spid

4. Check if your JOB is still running

Check to see if the JOB you want to stop is still running. In most cases, it should be stopped. Especially the execution of the third step of the "killer" order.

If it does not stop and dba_jobs_running cannot find the job, perform the following steps:

5.select name,value from v$parameter where name ='job_queue_processes';

Change the number of Job Queue Processes to 0

ALTER SYSTEM SET job_queue_processes = 0;

The job_queue_processes value ranges from 0 to 1000, and the total number of job processes that can be created is determined by the job_queue_processes parameter.

Note: When the number of Job Queue Processes is 0, all JOBs stop.

6. Modify anything you want to modify, even the contents of JOB. Write everything that job executes, write return; otherwise, it cannot be compiled.

You can also annotate the contents of all stored procedures called in job and write return; compile.

7. When the modification is complete, the BROKEN state of the job is stopped.

SQL>EXEC DBMS_JOB.BROKEN(job#,FALSE); --must commit

Or operate on PL/SQL Developer graphical interface, the same; restart job.

8. Restore the original value of job_queue_processes

ALTER SYSTEM SET job_queue_processes = 10;

Refresh the job several times at this point, and the total time will stop growing in a while. Job stopped completely.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Database

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report