oracle job的创建和删除
oracle job的创建 variable job30 number; --凌晨两点半执行 或者 DECLARE 其中第二个参数;号必须带上 字符串里有字符串的多加一个双引号 比如第四个参数 其中lastjob是存储过程或者function sysdate表示执行开始时间 最后一个参数表示下一次执行的时间的脚本 +1一般表示加1天 oracle job删除 可以使用 首先通过 col job format 99999; col log_user format a20; select job,log_user from dba_jobs where log_user='abc'--查询abc用户下的所有job 查询的job列就是对应的job number 停止和删除都要使用job number 使用 下面两个命令 必须是创建job的用户使用dba权限进去 不然会出现下面找不到job number的情况 ERRORatline1: exec dbms_job.broken(1233,true) --true表示停止 false表示暂停 exec dbms_job.remove(1233) 如果使用dba 去删除另外用户的job 可以使用ijob exec dbms_ijob.broken(1233,true) --true表示停止 false表示暂停 exec dbms_ijob.remove(1233) 执行删除操作后 查询 select sid,job from dba_jobs_running 如果发现 job虽然被删除了但是任然在运行 只能去干掉session 比如 sid=183 job=81 的结果 查询 selectsid,serial#from v$session where sid=183 183,3643 查询到结果通过 alter system kill session "183,3643" 执行完后查询selectsid,serial#from v$session where sid=183 没有了183 查询job select sid,job from dba_jobs_running where sid=183 也没有了 ok 解决 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |