找出正在执行的JOB 编号及其会话编号 SELECT SID,JOB FROM DBA_JOBS_RUNNING; 停止该JOB 的执行 SELECT SID,SERIAL# FROM V$SESSION WHERE SID='SID'; ALTER SYSTEM KILL SESSION 'SID,SERIAL'; EXEC DBMS_JOB.BROKEN(JOB,TRUE); 实例分析: 1,查询正在运行的Job,通过查询有两个,和进程占用较多的是两个ORACLE 进程符合。 SQL SELECT SID,JOB FROM DBA_JOBS_RUNNING; SID JOB ---------- ---------- 12 116 16 117 2,查询正在运行的job 的信息 SQL SELECT SID,SERIAL# FROM V$SESSION WHERE SID='12'; SID SERIAL# ---------- ---------- 12 4 SQL SELECT SID,SERIAL# FROM V$SESSION WHERE SID='16'; SID SERIAL# ---------- ---------- 16 1 3,利用查询出来的job 信息将job 结束掉 SQL ALTER SYSTEM KILL SESSION '12,4'; System altered. SQL ALTER SYSTEM KILL SESSION '16,1'; System altered. 4,如果不希望运行上述job 的话,可以将job 设置为broken. EXEC DBMS_JOB.BROKEN(116,TRUE); EXEC DBMS_JOB.BROKEN(117,TRUE);
城固网站建设公司创新互联建站,城固网站设计制作,有大型网站制作公司丰富经验。已为城固成百上千提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的城固做网站的公司定做!
JOB未执行成功,重试规律是这样的:
1、每次重试时间都是递增的,第一次2分钟,4分钟,8分钟,16分钟 ... 依此类推。
2、当超过1440分钟,也就是24小时的时候,固定的重试时间为1天。
3、笔者还经过其他实验得知,超过16次重试后,job 就会被标记为broken ,next_date 为4000-1-1,也就是不再进行job重试。
4、oracle数据库重试的时间到达设定的下次执行时间后,以设定的job执行时间为准。
如果答非所问,请完善问题。
首先启动windows命令。在开始菜单中输入cmd命令
输入启动命令:"net start oracleservieYAOYY" [Yaoyy代表实例名称,不区分大小写]
使用sqlplus方式登录数据库,测试启动是否正常。
登录成功后,会有以下页面,并且命令前缀变成:“SQL ”方式
使用简单的查询语句可以看到系统正常执行sql语句.
操作完之后,退出系统使用命令:"exit;"进行退出
停止oracle服务. 使用命令:"net stop oracleserviceyaoyy"注意后面没有分号.
select * from v$access a where object like '存储过程名%' --存储过程名为大写字母
select * from v$session where sid=74 --74为上一个查询得到的SID值,可能是多个,这里找到他们对应的serial#值
alter system kill session '74,118' --参数为'sid,serial#',用于停止这个回话,同时也终止了存储过程